$ wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm复制代码
$ yum localinstall mysql57-community-release-el7-8.noarch.rpm 复制代码
这一步才是真正安装mysqlmysql
$ yum install mysql-community-server复制代码
$ systemctl start mysqld
$ systemctl enable mysqld
$ systemctl daemon-reload复制代码
经过sql
systemctl status firewalld复制代码
查看firewalld状态,发现当前是dead状态,即防火墙未开启。安全
经过bash
systemctl start firewalld复制代码
开启防火墙,没有任何提示即开启成功。服务器
再次经过tcp
systemctl status firewalld复制代码
查看firewalld状态,显示running即已开启了。ide
若是要关闭防火墙设置,可能经过测试
systemctl stop firewalld复制代码
这条指令来关闭该功能。
ui
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent复制代码
$ firewall-cmd --reload复制代码
$ grep 'temporary password' /var/log/mysqld.log复制代码
(1)修改密码spa
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';或者mysql>set password for 'root'@'localhost'=password('MyNewPass4!');复制代码
(2)查询当前的密码测试
mysql> show variables like '%password%';复制代码
validate_password_policy:密码安全策略,默认MEDIUM策略
策略 | 检查规则 |
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
validate_password_dictionary_file:密码策略文件,策略为STRONG才须要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个 validate_password_special_char_count:特殊字符至少1个
(3)修改策略(将策略要求置为LOW,长度要求置为1)
set global validate_password_policy=0;
set global validate_password_length=1;复制代码
经测试,最小长度为4,设置为1无效,不晓得为何,后面再查询下。
(4)重置密码
alter user 'root'@'localhost' identified by '1234';复制代码
密码重置成功,可从新登陆。
mysql> GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;复制代码
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,不然会出现拒绝访问,还有一种方法,就是从新启动mysql服务器,来使新设置生效。
(1)查看mysql IP和端口是否正常。
使用:netstat -anpt
(2)监听得地址若是是:::3306或者是0.0.0.0:3306,表示监听全部IP地址,这监听状态是正常。若出现127.0.0.0:3306,说明监听的本地地址,须要在mysql配置文件中将bind-address选项设置为bind-address = 0.0.0.0,重启mysql。
(3)查看用于远程访问的mysql用户权限是否正确。
在本地登入mysql服务器,
use mysql;复制代码
SELECT user, host from mysql.user; 查看用于远程访问的mysql用户host的权限,%表示容许全部机器访问。若host为127.0.0.1/localhost,那么这个用户就只能本机访问,则须要将host改成%,能够使用update user set host='%' where user='root';
(4)若是还不行看看某云安全组3306是否开启端口