centos7 yum 安装 mysql 以及远程连接

centos7 里面是默认安装了mariadb的
要yum 安装mysql 先处理下mariadb
列出有关mariadb的所有rpm包文件
rpm -qa | grep mariadb
如果有,会有文件名显示出来,接着卸载掉
rpm -e 文件名(上面查出来的文件名)
rpm -e --nodeps 文件名强制卸载

mysql下载地址:https://www.mysql.com/
这里我们选择的安装方式是yum安装,所以按步骤来下载安装包
选择download----mysql yum repository
centos7 yum 安装 mysql 以及远程连接
页面下面可以看到如下:
点击download
红色方框的英文,建议自己翻译看下(如果你可以一眼扫过看懂的话,当我没说 ^ ^)
默认就是8.0版本的,如果要安装其他版本,后面会说到
centos7 yum 安装 mysql 以及远程连接
进入下载页面后,看到如下:
centos7 yum 安装 mysql 以及远程连接
右键 红色方框位置, 复制链接,下面是我的链接
https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

简单么,小白都会了!centos下,wget下载

 wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

下载完成后 查看下当前目录,可以看到你下载的包文件
centos7 yum 安装 mysql 以及远程连接
接下来怎么做, 很关键,看教程~~~
这是官方的文档教程:
https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
centos7 yum 安装 mysql 以及远程连接
上面红色方框已经告诉你了,mysql yum 安装!
接下来怎么做估计你是肯定会了的!
命令就是 yum localinstall后面跟你的包文件名

yum localinstall mysql80-community-release-el7-2.noarch.rpm

centos7 yum 安装 mysql 以及远程连接
查看一下是否添加成功(mysql yum 存储 添加到本地存储列表)

yum repolist enabled | grep "mysql.*-community.*"

centos7 yum 安装 mysql 以及远程连接
如果失败则是什么都没有的,添加成功如下:
centos7 yum 安装 mysql 以及远程连接
接下来就是安装了,需要选择一下版本
直接上图:
centos7 yum 安装 mysql 以及远程连接
看不懂也没事,能看懂下划线那部分吧 /etc/yum.repos.d/mysql-community.repo这个文件你记住就行
我们直接编辑这个文件vi /etc/yum.repos.d/mysql-community.repo

centos7 yum 安装 mysql 以及远程连接
这里我选择的是5.7,enabled=1,把之前的 8.0下面的enabled=1改成了0
如果你直接跳过这步,直接进行下面的安装,那就是默认8.0版本了(文档说的,绝对不会错)
(叫你们天天百度不看文档~!)

centos7 yum 安装 mysql 以及远程连接
安装命令:如果出现选择你懂的~ 按y即可

yum install mysql-community-server

或者自动安装也行 install 后面加 -y 参数
启动mysql服务以及查看状态
centos7 yum 安装 mysql 以及远程连接
安装完成后默认应该是服务已经启动的,
我们直接查看下状态,下面的命令都可以查看状态:

service mysqld status
systemctl status mysqld.service

如下图表示成功了:
centos7 yum 安装 mysql 以及远程连接
到此mysql yum安装完成(什么,进不了数据库,密码是多少??? 看文档~~~~)
centos7 yum 安装 mysql 以及远程连接
输入如下命令:
grep 'temporary password' /var/log/mysqld.log
centos7 yum 安装 mysql 以及远程连接
[email protected]: 后面就是临时密码~ 如果。。。。
什么,居然什么都没有。。。
如果输入上面的命令,什么都没发生,操作如下
rm -rf /var/lib/mysql删除之前的残留数据
systemctl restart mysqld重启服务
再次查看:
grep 'temporary password' /var/log/mysqld.log

接下来进入mysql 并修改一下密码

mysql -uroot -p

输入上面的密码
centos7 yum 安装 mysql 以及远程连接
必须要先修改密码,才能做其他操作
ALTER USER 'root'@'localhost' IDENTIFIED BY '这里是你的密码-大哥你懂的';
如果有如下提示,说明密码设置失败,密码安全级别不够,也就是密码不够复杂
(validate_password实现的默认密码策略要求密码包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符。)
centos7 yum 安装 mysql 以及远程连接
如果要关闭密码安全级别设置:
vi /etc/my.cnf
加入化红线的那行代码:validate_password = offcentos7 yum 安装 mysql 以及远程连接
保存退出后,重启下服务
再次查看密码
grep 'temporary password' /var/log/mysqld.log
进入mysql修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'密码自己设置
修改成功会有成功字眼返回:

Query OK, 0 rows affected (0.00 sec)

接下来是一些配置
在mysql中输入

show variables like '%validate_password%';

centos7 yum 安装 mysql 以及远程连接
需要继续修改一下配置文件直到看到如下:
centos7 yum 安装 mysql 以及远程连接
vi /etc/my.cnf打开这个配置文件加入一些配置,大致内容如下,注释不用管

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
character_set_server=utf8

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

validate_password = off

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

centos7 yum 安装 mysql 以及远程连接
保存退出,重启服务,再次进入mysql
show variables like '%character%';
可以看到如下图
centos7 yum 安装 mysql 以及远程连接
远程访问
允许root用户远程连接数据库(这里远程连接密码和本地密码是可以不一样的)
本地登录mysql后,输入命令如下:
use mysql;(指定一下要用的数据库,如果省略当前指令,在下面的指令前加 -A)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
该指令会在mysql数据库的user 表中添加一条记录,后面可以看到
接着更新下授权表的记录:
FLUSH PRIVILEGES;

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.00 sec)

centos7 yum 安装 mysql 以及远程连接
此时root是可以远程连接数据库了的,密码就是上面的密码,你设置的
本地登录的话,密码是不变的
成功后做下远程连接测试,下面是我本地 Navicat for mysql 远程到虚拟机上数据库的截图
可以看到user表里面是多了一个Host记录的,用户是root, % 就是远程访问了
centos7 yum 安装 mysql 以及远程连接