mysql 8.0.11 用Navicat远程无法连接

1. docker 启停命令

启动 : systemctl start docker
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭 docker service docker stop

2.启动mysql

命令:docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

3.数据库连接不上

3.1 防火墙问题
关闭防火墙重试
3.1.1 防火墙命令参考
查看防火墙状态:systemctl status firewalld
关闭防火墙: systemctl stop firewalld
打开防火墙: systemctl start firewalld
在这里插入图片描述

3.2 docker容器中MySQL权限问题

3.2.1 解决方案

连接数据库

docker exec -it mysql bash
mysql -uroot -p -h 192.168.122.1

2.授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;
GRANT:赋权命令
ALL PRIVILEGES:当前用户的所有权限
ON:介词
.:当前用户对所有数据库和表的相应操作权限
TO:介词
‘root’@’%’:权限赋给root用户,所有ip都能连接
IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456
WITH GRANT OPTION:允许级联赋权

20200901:
将GRANT语句通过代码块包起来

3.刷新权限

flush privileges;

4.还不能远程访问,可能Navicat只支持旧版本的加密,需要更改mysql的加密规则
5.更改加密规则

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;

6.更新root用户密码

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456;

7.刷新权限,问题解决?good luck

4.连接docker中MySQL截图
虚拟机ip

连接工具连接

mysql 8.0.11 用Navicat远程无法连接

症状:

安装了mysql 8.0.11 之后本地可以登录,但是远程第三方工具无法连接,防火墙已经放通的,

解决之道:

首先登陆到mysql命令行:

mysql -u root -p

进入之后选择mysql库,用户信息都存在这个库的user表中

use mysql;

select host, user, authentication_string, plugin from user

可以看到,用户对应的主机是localhost,而不是%,所以不能连接。
处理方法:
1、授权root用户可以远程登陆

GRANT ALL ON . TO ‘root’@’%’;

2、刷新权限

flush privileges;

3、修改加密规则

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘yourpassword’ PASSWORD EXPIRE NEVER;

4、更新 root 用户密码

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘yourpassword’;

5、刷新权限

FLUSH PRIVILEGES;

测试连接。用 Navicat 连接数据库就可以正常连接了。

另,给普通用户远程连接的权限:
1、授权 myuser 用户对指定库的所有表,所有权限并设置远程访问

GRANT ALL ON 指定库.* TO ‘myuser’@’%’;

2、更新 该 用户密码

ALTER USER ‘myuser’@’%’ IDENTIFIED WITH mysql_native_password BY ‘yourpassword’;

3.刷新权限

FLUSH PRIVILEGES;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和你在一起^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值