使用centos基础镜像搭建mysql_CentOS 7 使用Docker搭建Mysql

1. 前提是Docker已经安装好了

没有安装的可以看这篇文章-->CentOS 7安装Docker

2.拉取mysql镜像

docker pull mysql

docker images

可以看到我们拉取的镜像

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

[root@bogon ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

mynginx latest 1964089d63e611 days ago 108MB

docker.io/mysql 5.7 98455b9624a9 2 weeks ago 372MB

docker.io/jenkins/jenkins lts 806f56c84444 8 weeks ago 703MB

docker.io/tomcat latest 168588387c68 2 months ago 463MB

docker.io/redis latest 0f55cf3661e9 2 months ago 95MB

docker.io/nginx latest f09fe80eb0e7 2 months ago 109MB

docker.io/mysql latest 81f094a7e4cc 2 months ago 477MB

docker.io/zookeeper latest 06b178591ab3 2 months ago 150MB

docker.io/php 5.6-fpm 3458979c7744 2 months ago 344 MB

View Code

宿主机创建几个文件夹用于容器文件挂载

mkdir -p /home/service/mysql/datamkdir -p /home/service/mysql/conf/my.cnf

然后运行命令启动mysql

docker run -p 3306:3306 --name mysql \-v /home/service/mysql/data:/var/lib/mysql \-v /home/service/mysql/conf/my.cnf:/etc/my.cnf \-e MYSQL_ROOT_PASSWORD=123456\-e TZ=Asia/Shanghai \-d mysql

docker run -p 3306:3306 --name mysql -v /home/service/mysql/logs:/logs -v /home/service/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql

命令讲解

> -p 3306:3306:将容器的3306端口映射到主机的3306端口

> -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

> -e TZ=Asia/Shanghai 修改容器默认时区为上海

> -v =/mysqltest/config/my.cnf:/etc/my.cnf:映射配置文件

> -v =/mysqltest/data:/var/lib/mysql:映射数据目录

注意:不同mysql版本可能配置文件目录和路径不一样,mysql5.7的容器路径为 /etc/mysql/mysql.conf.d/mysqld.cnf。

进入容器

docker exec -it mysql bash

登陆mysql

mysql -uroot -p

创建mysql用户

CREATE USER 'admin'@'%' IDENTIFIED BY '123456';GRANT ALL ON *.* TO 'admin'@'%';

flushprivileges;

然后就可以使用admin用户登陆了,因为mysql8与mysql5.7授权有一些不一样,mysql必须先创建用户才能授权,不然会出错。


版权声明:本文为weixin_42499919原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。