1、运行docker,拉取mysql镜像。
docker search mysql;
#拉取mysql镜像
docker pull mysql:5.7
#查看版本号
sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest 990386cbd5c0 2 weeks ago 443 MB
- 启动一个容器
docker run -p 3306:3306 --name mysql_db -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
参数说明
-d 让容器在后台运行
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置
-v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
-v $PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs
–name 容器的名字,随便取,但是必须唯一
-mysql:5.6(TAG号)
进入容器
docker exec -ti mysql_db /bin/bash
登录mysql
mysql -u root -p
2 重启mysql:
docker restart test_mysql
查看用户信息
-
mysql> select host,user,plugin,authentication_string from mysql.user;
-
mysql> ALTER user ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
-
Query OK, 0 rows affected (0.01 sec)
-
mysql>
-
mysql> FLUSH PRIVILEGES;
-
Query OK, 0 rows affected (0.01 sec)
-
mysql>