SQLyog连接Docker中MySQL容器报2508错误
- 首先确保IP地址用户名与密码正确
虚拟机IP地址可以通过ifconfig命令查看
使用SQLyog或者Navicat工具连接远程Docker容器时候,出现2508错误
- 解决方式基本和其它环境连接MySQL的问题相同,都是因为MySQL默认只允许本机root登录。
MySQL默认的root用户只允许本机登录,远程通过SQLyog工具不能登录,创建可以远程访问的 root 用户并授予所有权限
- 1.进入docker 中MySQL环境
docker exec -it mysql容器名 /bin/bash
mysql -uroot -p
- 2.依次执行下列命令
GRANT ALL ON . TO root@%;
或者
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
这里就需要写root密码了,如果不修改,密码就会被改为password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root密码' PASSWORD EXPIRE NEVER;
root密码必须和上面的一致,并且,尽量使用双引号。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY ‘root密码’;
flush privileges;
如果显示SQL语法错误,尽量粘到记事本或者手改一下命令中的符号
- 3.依次执行完成,就可以使用工具远程连接了。