docker容器安装mysql

拉取mysql 5.7

docker pull mysql:5.7

启动服务

docker run -d -p 3306:3306 --privileged=true -v /Docker_mysql/mysql/log:/var/log/mysql -v /Docker_mysql/mysql/data:/var/lib/mysql -v /Docker_mysql/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -e LANG="C.UTF-8" --name mysql mysql:5.7 

参数说明

--privileged  容器数据卷权限开启
-p 3306:3306: 将容器的3306端口映射到主机的3306端口
-v /Docker_mysql/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /Docker_mysql/mysql/conf:/etc/mysql/conf.d :将配置文件夹挂载到主机

-v /Docker_mysql/mysql/data:/var/lib/mysql

-e MYSQL_ROOT_PASSWORD=root:初始化root的密码

完成以上配置后,需要再新建my.cnf,重新编辑防止乱码。因为容器数据卷已经映射了mysql的配置目录,直接在宿主机的数据卷配置目录新建即可。配置完成然后重启

[root@192 mysql]# pwd
/Docker_mysql/mysql 
[root@192 conf]# pwd
/Docker_mysql/mysql/conf
[root@192 conf]# vim my.cnf 

//配置内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
[root@192 conf]# docker ps

[root@192 conf]# docker restart mysql

连接宿主机ip及对应端口操作数据库即可

注意:docker安装完mysql并run出容器之后,建议请先修改完字符集编码后再新建mysql库->表->插入数据 。

如果容器被删除,重新执行配置容器卷映射的命令即可恢复数据。

posted @ 2022-04-13 22:57  温柔的风  阅读(317)  评论(0编辑  收藏  举报