Centos7中mysql安装及远程登录设置
1、下载mysql的rpm安装包,可以到官网下载
2、使用rpm安装mysql
rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm
如果遇到图示问题,可以在命令后面加--nodeps --force进行安装
rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm --nodeps --force

3、查看mysql服务状态,发现服务并未启动,这时最好不用启动服务,先进行mysql初秤何始化及设置密码

4、mysql初始化及密码设置
(1)初始化密码,这里有2中方法
(a)使用 mysql_install_db --datadir=/var/lib/mysql ,执行成功后会在root目录下生成密码文件,可以通过cat ~/.mysql_secret查看初始密码。
(b)使用mysqld --initialize(这时官方推荐的方法),执行后会在/var/log/mysqld.log里生成随机密码
通过cat /var/log/mysqld.log可以查看初始化密码
(2)使用service mysqld start 开启mysql服务,通过service mysqld status查看服务状态
(3)这时可以使用生成的密码登录mysql:mysql -u root -p,但这时我们不能就行任何操作,否则会报ERROR 1820 (HY000),这时因为需要先修改密码。
执行掩睡SET PASSWORD = PASSWORD('111111')
(4)使用exit退出,使用新密码重新登录



5、若在第4步之前开启过mysql服务, 再通过service mysqld stop关闭服务再按照4进行初始化,可能会有以下问题:
(1)执行mysql_install_db --datadir=/var/lib/mysql或mysqld --initialize报错
解决办扯散净法:将/var/lib/mysql目录下的文件清空
cd /var/lib/mysql
rm -rf *
(2)再次开启mysql服务的时候会发现无法开启,会报错Job for mysqld.service failed because the control process exited with error code.
解决办法:chown -R msql:mysql /val/lib/mysql
这是再执行service mysqld start并查询status,如图所示



6、设置远程允许远程登录。
(1)使用mysql -u root -p登录mysql
(2)执行grant all privileges on *.* to 'root'@'%' identified by '111111';
(3) flush privileges;
这时我们使用Navicat登录会发现无法连接,这是因为未开放3306端口的原因
(4)开放3306端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --add-port=3306/udp --permanent
firewall-cmd --reload
这时再通过Navicat发现连接成功。

