5.7和8.15版本亲测。centos版本为:CentOS-7-x86_64-Minimal-1810。
1、下载mysql57-community-release-el7-9.noarch.rpm。下载地址:http://dev.mysql.com/downloads/repo/yum/
2、安装rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3、/etc/yum.repos.d目录下查看到mysql的源信息
4、查看可用的mysql安装源
yum repolist enabled | grep mysql
5、执行安装
yum install mysql-community-server
6、设置开机启动并启动mysql服务
systemctl enable mysqld
systemctl start mysqld
7、查看系统默认生成的密码(下面红色标记部分为系统默认生成的密码)
grep 'temporary password' /var/log/mysqld.log
8、登录并修改默认密码(不重置密码无法查看数据库)
注意,下面输入密码的时候不会有字符出现。
mysql -u root -p
mysql> set password = password('!QAZ2wsx');
mysql8.x已经作废了password函数,可以用新的方式修改密码:
alter user 'root'@'localhost' identified by '!QAZ2wsx';
9、重新登录后即可查看数据库结构
mysql> show databases;
10、修改密码安全策略
57版本
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
8.x版本
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
11、允许所有主机均可使用root/abc123(用户/密码)远程访问数据库
注意这里的root用户和前面的root不同,前面的root还是需要用!QAZ2wsx密码登录。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
mysql8.x的远程登录的root用户是不存在的,必须要先创建。
create user 'root'@'%' identified by 'abc123'; #创建用户
grant all on *.* to 'root'@'%' with grant option; #授权
flush privileges; #刷新权限
查看用户可以使用SQL语句:select host, user from mysql.user;
12、防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
使用客户端工具连接数据,测试成功!
13、启动、关闭、重启服务
systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld