1、修改mysql配置文件 vi /etc/my.cnf
在配置文件中添加skip-grant-tables
注意要在:[mysqld]标签下加入
可先停掉mysql服务:service mysqld stop
2、重启mysql : service mysqld restart
3、登录数据库 mysql :su -u root
4、选择库 use mysql;
5、重新修改root密码
update user set authentication_string=password(‘root’) where user=‘root’;
6、刷新权限 flush privileges;
7、退出数据库 exit;
8、删除刚才添加的skip-grant-tables
再次重启mysql: service mysqld restart
9、使用新密码登录数据库 mysql -u root -p
允许远程登录
use mysql;
查看:select user,host from user;
授权:GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果还不行看下防火墙:参考https://blog.csdn.net/z858466/article/details/79946141
1、查看firewalld状态:systemctl status firewalld
2、systemctl unmask firewalld
3、#再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
4、#再次执行执行:firewall-cmd --permanent --zone=public --add-port=3306/tcp
提示success,表示设置成功,这样就可以继续后面的设置了。
5、firewall-cmd --reload
如果不行可参考关闭防火墙:
查看防火墙状态: service iptables status
永久性生效,重启后不会复原
开启:chkconfig iptables on
关闭:chkconfig iptables off
即时生效,重启后复原
开启:service iptables start
关闭:service iptables stop
设置后重启:reboot