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;