1 . 安装新版mysql前,需将系统自带的mariadb-lib卸载。
[root@wst-test02 bbders]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@wst-test02 bbders]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
2 . 上传压缩包并解压。(官网下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar)
解压后得到如下安装包:
3 . 使用rpm -ivh命令依次进行安装;以下步骤需要root权限。且因包之间的依赖关系,各rpm命令必须按序执行。
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
#### 安装mysql-community-server-5.7.20-1.el7.x86_64.rpm前需要安装libaio-0.3.107-10.el6.x86_64.rpm
下载地址:http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm(若在有网情况下可执行yum install libaio)
安装成功后,也可把安装文件和临时文件删除。
rm mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
4 . 初始化数据库。
// 指定datadir, 执行后会生成~/.mysql_secret密码文件
[root@wst-test02 bbders]# mysql_install_db --datadir=/var/lib/mysql
// 初始化,执行生会在/var/log/mysqld.log生成随机密码
[root@wst-test02 bbders]# mysqld --initialize
5 .创建用户和用户组
[root@wst-test02 bbders]# groupadd mysql
[root@wst-test02 bbders]# useradd -g mysql -r mysql
[root@wst-test02 bbders]# chown mysql:mysql /var/lib/mysql -R
// 将mysql安装目录赋给mysql
[root@wst-test02 bbders]# systemctl start mysqld.service
// 重启mysql
6 .修改密码
由于一开始并不知道密码,先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验。加入一行:skip-grant-tables
重启MySQL: systemctl restart mysqld
免密码登录MySQL: mysql -uroot -p
## 连续敲两下'回车键'
修改root用户密码: UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root';
最后修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL。这一步非常重要,不执行可能导致严重的安全问题。
补充报错处理:
解决方式:chown mysql:mysql -R /var/lib/mysql