Docker安装启动、配置MySQL
转载自:https://www.cnblogs.com/roluodev/p/12128518.html
1、安装MySQL镜像
docker pull mysql/mysql-server
2、Docker中启动MySQL容器
docker run --name mysql01 -d -p 3306:3306 mysql/mysql-server
通过以下命令查看root的password
docker logs mysql01
头标注为:Entrypoint
navicat连接mysql服务器测试失败
1130 - Host 'xxx.xx.xx.xxx' is not allowed to connect to this MySQL server
原因:mysql处于安全考虑,root用户只能在本地登录。
因此我们需要进入容器创建用户并授权。
且mysql MYSQL_ONETIME_PASSWORD环境变量默认为true,root用户密码默认只能使用一次,登录mysql后需要修改root的密码。
通过以下命令进入mysql容器
docker exec -it mysql01 bash
通过以下命令进入mysql交互模式、输入刚才docker logs mysql01中的密码
mysql uroot -p
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
注:8.0以上版本请参阅 :点击这里
创建用户、授权。%代表任何地址都可以连接到服务器
CREATE USER 'LZL'@'%' IDENTIFIED BY 'pwd123456';
GRANT ALL PRIVILEGES ON *.* TO 'LZL'@'%' WITH GRANT OPTION;
3、上面较为麻烦,还需进入mysql修改想对应的设置,下面一条命令即可配置全部信息。包括设置字符集、用户、密码等操作。-e 代表环境变量 -d 以后台模式运行容器 -p端口映射 --character-set-server为mysql字符集设置
docker run -d -p 3306:3306
-e MYSQL_USER="lzl"
-e MYSQL_PASSWORD="password"
-e MYSQL_ROOT_PASSWORD="password"
--name mysql01
mysql/mysql-server
--character-set-server=utf8
--collation-server=utf8_general_ci