在阿里云服务器上部署mysql容器,再试用本地Navicat连接。参考于 https://blog.csdn.net/w2481296/article/details/107611022
-
拉取镜像
docker pull mysql
-
运行容器
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-
进入容器并登录mysql
docker exec -it ${mysql容器的ID} /bin/bash
mysql -u root -p
-
给root用户赋权并刷新权限
grant all privileges on *.* to root@'%' with grant option;
flush privileges;
-
更改加密规则
ALTER USER root@localhost IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
-
如果需要修改数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
-
如果数据库拒绝远程连接
use mysql
select host from user where user = 'root';
查看是否显示localhost
执行update user set host = '%' where user = 'root';
,然后再次执行上一句的select查看是否变成%
最后FLUSH PRIVILEGES;
-
打开Navicat,新建连接
-
连接名随便起,主机填阿里云服务器的IP,密码这里是 123456