docker安装启动配置MySql

Posted 罗智炼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker安装启动配置MySql相关的知识,希望对你有一定的参考价值。

1、安装mysql镜像

docker pull mysql/mysql-server

2、docker中启动Mysql容器

docker run --name mysql01 -d -p 3306:3306 mysql/mysql-server

启动后执行:

docker ps 

image-20200101100252880

通过以下命令查看root的password

docker logs mysql01

image-20200101100509567

navicat连接mysql服务器测试

image-20200101100821215

原因:mysql处于安全考虑,root用户只能在本地登录。

因此我们需要进入容器创建用户并授权。

且mysql MYSQL_ONETIME_PASSWORD环境变量默认为true,root用户密码默认只能使用一次,登录mysql后需要修改root的密码。

通过以下命令进入mysql容器

docker exec -it mysql01 bash

image-20200101101153497

通过以下命令进入mysql交互模式、输入刚才docker logs mysql01中的密码

mysql uroot -p

image-20200101101250796

修改密码

ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\';

创建用户、授权。%代表任何地址都可以连接到服务器。

CREATE USER \'LZL\'@\'%\' IDENTIFIED BY \'pwd123456\';

GRANT ALL PRIVILEGES ON *.* TO \'LZL\'@\'%\' WITH GRANT OPTION;

再次利用navicat连接,即可成功。

image-20200101102956619

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

以上是关于docker安装启动配置MySql的主要内容,如果未能解决你的问题,请参考以下文章

安装docker时总是启动失败是怎么回事?

Docker启动MySQL

Docker启动MySQL

Docker启动MySQL

docker安装mysql挂载外部配置和数据目录

Docker教程-2-MySql容器的安装配置使用