零基础 CentOS 7 下安装MySQL5.7 步骤
CentOS 7下安装 MySQL5.7(参考MySQL官方文档)
本文主要介绍在CentOS 7下安装MySQL 5.7步骤,主要参考MySQL5.7reference,结合安装MySQL过程中遇到的问题总结。
环境信息
shell > cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
MySQL5.7安装包下载地址
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.30-el7-x86_64.tar.gz
安装步骤
- 卸载CentOS7默认安装的mariadb
shell > rpm -qa | grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
shell > rpm -e mariadb-libs-5.5.65-1.el7.x86_64
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-9.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-9.el7.x86_64
若卸载出现如上错误则改用
shell > rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
- 下载MySQL5.7安装包
shell > mkdir /usr/common
shell > cd /usr/common
shell > wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.30-el7-x86_64.tar.gz
- 安装MySQL依赖 libaio
shell > yum search libaio
shell > yum install libaio
- 安装MySQL
shell > cd /usr/common/
shell > tar zxvf mysql-5.7.30-el7-x86_64.tar.gz
shell > mv mysql-5.7.30-el7-x86_64 /usr/local/mysql
shell > cd /usr/local/mysql
- 创建mysql用户信息
shell > groupadd mysql
shell > useradd -r -g mysql -s /bin/false mysql
shell > bin/mysqld --initialize --user=mysql
[Note] A temporary password is generated for root@localhost: CSSv23t>1n4R
shell > bin/mysql_ssl_rsa_setup
- 启动mysql
shell > bin/mysqld_safe --user=mysql &
- 修改root默认密码,授权登录信息
shell > bin/mysql -uroot -p
Enter password: //填写5步骤中MySQL初始化密码,这里为 CSSv23t>1n4R
....
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
//提示需要修改root账户密码 ,密码需要满足安全策略 字母大小写,特殊字符等
修改默认密码
mysql> alter user 'root'@'localhost' identified by 'CSSv23t>2n4R';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改登录授权,以便其他设备连接
mysql> use mysql;
mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)
mysql> update user set host = '%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0