1.首先如果你是在windows平台下连接linux下的mysql
那么请确保linux下的防火墙开放3306端口
vi /etc/sysconfig/iptables在配置文件里增加一行
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT
重启防火墙service iptables restart
2.授权,允许root在任何主机上登录
use mysql
update user set host='%' where user ='root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges//刷新授权
3.如果你是使用命令行的方式登录
那么直接打开dos窗口输入mysql -h 主机名/IP -u 用户名 -p
如果使用的是一些工具远程连接数据库那么还要往下走
4.修改密码加密方式
查看当前版本下的密码加密方式
创建一个新的数据库用户后再次查看
可以清楚的看到默认的加密方式用了caching_sha2_password,而之前版本的加密方式是
mysql_native_password,现在大多数的第三方连接数据库工具都还不支持这种加密插件,所以需要修改
root用户的加密方式,执行以下命令
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
5.使用第三方工具重新登录即可
6.如果希望更改默认的加密方式可以在mysql的配置文件my.cnf中增加
default_authentication_plugin=mysql_native_password