docker+mysql

docker执行语句

docker run -p 3306:3306 --name mysql 
-v /opt/docker-mysql/conf:/etc/mysql 
-v /opt/docker-mysql/logs:/var/log/mysql  
-v /opt/docker-mysql/data:/var/lib/mysql
-v /opt/docker-mysql/mysql-files:/var/lib/mysql-files
-e MYSQL_ROOT_PASSWORD=123456
-e TZ=Asia/Shanghai
-d mysql --lower-case-table-names=1

访问出错 1045错误

解决方法

1进入容器

docker exec -it mysql bash

2.进入mysql

mysql -uroot

原因:创建的root密码是空的

 3.修改用户密码

mysql> use mysql;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

mysql> flush privileges; 

4.修改用户用户host

mysql>use mysql;

mysql>update user set host =%' where user =’root’;

mysql>flush privileges;

原文地址:https://www.cnblogs.com/ningyouyou/p/15294275.html