说明
本文写于2017-05-20,使用MySQL-5.7.18。操作系统为64位CentOS Linux release 7.2.1511 (Core),以桌面形式安装。
卸载MariaDB
CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。
1、查看已安装的MariaDB相关rpm包。
rpm -qa | grep mariadb |
2、查看已安装的MariaDB相关yum包,包名需根据rpm命令的结果判断。
yum list mariadb-libs |
3、移除已安装的MariaDB相关yum包,包名需根据yum list命令的结果判断。此步骤需要root权限。
yum remove mariadb-libs |
下载MySQL rpm包
由于软件包很大,可以先用其他方式(如迅雷)下载。使用rpm方式,还可在无法联网的条件下安装——这是yum无法做到的。如需安装其他版本的MySQL,请自行到官网搜索相应的rpm下载链接。
使用rpm包安装MySQL
以下步骤需要root权限。且因包之间的依赖关系,各rpm命令必须按序执行。
mkdir mysql-5.7.18tar -xv -f mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7.18cd mysql-5.7.18/rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm |
安装成功后,也可把安装文件和临时文件删除。
cd ..rm -rf mysql-5.7.18rm mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar |
修改MySQL初始密码
以下步骤需要root权限。
1.由于一开始并不知道密码,先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验。加入一行:
skip-grant-tables |
2.重启MySQL。
service mysqld restart |
3.免密码登录MySQL。
mysql |
4.在mysql客户端执行如下命令,修改root密码。
use mysql;UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root';quit; |
5.修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL。这一步非常重要,不执行可能导致严重的安全问题。
6.使用刚刚设置的密码登录。
mysql -u root -p |
7.MySQL会强制要求重新修改密码,且不能为简单规则密码。
ALTER USER root@localhost IDENTIFIED BY 'your-new-password'; |