安装mysql
docker run -p 3307:3306 --name mysql8 --privileged=true --restart unless-stopped -v F:\dockerVolumes\mysqltest\mysql:/etc/mysql -v F:\dockerVolumes\mysqltest\logs:/logs -v F:\dockerVolumes\mysqltest\data:/var/lib/mysql -v F:\dockerVolumes\mysqltest\mysql-files:/var/lib/mysql-files -e MYSQL__PASSWORD=xxxx -itd mysql
所遇问题
navicate不上
docker host is not allowed to connect to this Mysql server
解决方案
分多个步骤:
step1
:更换安装方式,不设置密码
docker run -p 3307:3306 --name mysql8 --privileged=true --restart unless-stopped -v F:\dockerVolumes\mysqltest\mysql:/etc/mysql -v F:\dockerVolumes\mysqltest\logs:/logs -v F:\dockerVolumes\mysqltest\data:/var/lib/mysql -v F:\dockerVolumes\mysqltest\mysql-files:/var/lib/mysql-files -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -itd mysql
step2
:登录mysql,更改密码
mysql -uroot
#切换数据库
use mysql;
#设置密码
#PASSWORD EXPIRE NEVER 密码永不过期
#mysql_native_password 加密插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;
step3
:检验密码
mysql -uroot -p123456
step4
:允许远程访问
use mysql
select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
update user set host='%' where user='root';
select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
flush privileges;