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库->表->插入数据 。
如果容器被删除,重新执行配置容器卷映射的命令即可恢复数据。