一、环境准备
1.系统环境:CentOS 7.5
[root@localhost software]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2、卸载自带数据库:maridb
# 查询已安装数据库
rpm -qa | grep -i mariadb
# 卸载已安装数据库
rpm -qa | grep mariadb | xargs rpm -e --nodeps
二、安装教程
1.yum respository 下载
wget http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm
2.yum respository 安装
yum -y install mysql57-community-release-el7-8.noarch.rpm
3.安装MySQL服务端
# 查找安装包
yum search mysql-com
# 安装MySQL
yum -y install mysql-community-server.x86_64
4.启动MySQL服务
# 启动MySQL服务
systemctl start mysqld.service
# 查看MySQL启动状态
systemctl status mysqld.service
三、MySQL数据库初始设置
1.登录MySQL
# 初始密码查看
cat /var/log/mysqld.log | grep 'password'
# MySQL登录
mysql -uroot -p
2.密码修改
密码修改具体操作
step1: 更改策略,设置 validate_password_policy=0;
mysql> set global validate_password_policy=0; # 此时,新密码长度大于等于8位才有效,否则报错
修改有效密码长度:
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
不管设置 validate_password_length=1,还是2,3,4 ,‘有效密码长度’这个参数的实际值都是4。超过4后设置是多少实际就是多少。
step2:重设密码:
mysql> set password for root@localhost=password('9527');
Query OK, 0 rows affected, 1 warning (0.00 sec)
此时,虽然防火墙我时关着的,但root用户只能用于本机访问,不能用于远程访问,否则会报以下错误。因此,接下来要做的是授予root用户远程访问权限。
3.远程连接
查看当前授予过的权限:
use mysql;
select user,host from user;
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)
mysql> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)
step1: 授予root用户远程访问权限:
mysql> grant all privileges on *.* to root@'%' identified by 'root';
Query OK, 0 rows affected, 1 warning (0.05 sec)
step2: 刷新权限,使设置生效, OK。
mysql> flush privileges;
Query OK, 0 rows affected (0.36 sec)
step3:远程连接测试
以上,请参考!