最近由于工作需要,自行学习Linux操作系统基本操作。本系列将记录学习过程,及遇到问题的解决方案,以供记录和分享。
欢迎转载,转载请注明出处,谢谢~(作者:喝酒不骑马 Colton_Null)
from CSDN
命令:
[root@localhost ~]# rpm -qa | grep -i mysql
mysql-community-common-5.7.19-1.el6.x86_64
mysql-community-client-5.7.19-1.el6.x86_64
mysql-community-server-5.7.19-1.el6.x86_64
mysql-community-libs-5.7.19-1.el6.x86_64
这说明在该系统上已经安装了如上四个mysql组件。
命令:
rpm -ev mysql-community-common-5.7.19-1.el6.x86_64
rpm -ev mysql-community-client-5.7.19-1.el6.x86_64
rpm -ev mysql-community-server-5.7.19-1.el6.x86_64
rpm -ev mysql-community-libs-5.7.19-1.el6.x86_64
依次卸载相关组件
注意,如果MySQL已经在系统上运行,要先关闭MySQL服务才能进行卸载操作。
关闭MySQL:service mysql stop
去MySQL官网下载MySQL相关rpm包 https://dev.mysql.com/downloads/mysql/
根据linux系统版本选择MySQL包版本。
本文针对CentOS 6.8进行讲解,所以可以选择如下版本
其中,需要下载如下四个rpm包
mysql-community-common-5.7.19-1.el6.x86_64.rpm
mysql-community-client-5.7.19-1.el6.x86_64.rpm
mysql-community-server-5.7.19-1.el6.x86_64.rpm
mysql-community-libs-5.7.19-1.el6.x86_64.rpm
分别获取四个包的下载链接
在linux中用wget命令进行下载
[root@localhost tmp]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.19-1.el6.x86_64.rpm
(其余三个链接在此省略)
下载后,按照如下顺序安装(一定要按照顺序,因为包之间有依赖关系。)
[root@localhost tmp]# rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm
[root@localhost tmp]# rpm -ivh mysql-community-libs-5.7.19-1.el6.x86_64 // 依赖于common
[root@localhost tmp]# rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64 // 依赖libs
[root@localhost tmp]# rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64 // 依赖于client、common
至此,MySQL就已经安装在系统上了。
命令:mysqld --initialize
该命令执行后会在/var/log/mysqld.log文件中生成随机密码
更改mysql数据库目录的所属用户及其所属组,然后启动MySQL
[root@localhost /]# chown mysql:mysql /var/lib/mysql -R
[root@localhost /]# service mysqld start
[root@localhost /]# mysql -u root -p
使用生成的随机密码就可以进入数据库了。
(如果登录数据库失败,请移步至第六步。)
登录数据库,设置root用户的访问地址为全部即”%”
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges; // 刷新配置
光修改数据库user表还不够,还需要开放linux系统防火墙中3306端口
[root@localhost /]# vi /etc/sysconfig/iptables
增加一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
注意,这一行要在icmp-host-prohibited的上面
之后,重启防火墙
[root@localhost /]# service iptables restart
至此,数据库的安装及端口开放就已经完成了。
按理来说第四步结束后,数据库可以正常访问。但是我遇到了这个问题:Access denied for user ‘root’@’localhost’ (using password:YES)
有关这个问题的解决,请查看 如何解决MySQL 5.7 Access denied for user ‘root’@’localhost’ (using password YES)问题?