这里配置只做开发用,生产环境请根据需要修改或自行搜索其他说明

使用docker安装mysql,目前版本5.7.4(当前时间 2018.1.11)

环境 vm: Centos7 

镜像来源 https://dashboard.daocloud.io/packages/fa51c1d6-9dc2-49d9-91ac-4bbfc24a1bda

镜像地址 : daocloud.io/library/mysql 

执行脚本:

 

 

docker run --name some-mysql -p 3306:3306 -v /etc/mysql/myconf/:/etc/mysql/conf.d -v /opt/mysql/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7.34

 

 

 

 

-d  容器在后台运行

-e MYSQL_ROOT_PASSWORD=admin    配置mysql root的密码

-v   对mysql 的配置文件和数据存储路径进行映射到宿主机,对数据持久化

my.cnf是配置文件名,(可以是空文件,有需要的时候再修改)。/etc/mydockercfg/mysql和/opt/mysql/data是宿主机目录

-p   端口映射

--name  定义容器的名称

--lower_case_table_names=1    定义数据库不区分表名大小写

--character-set-server=utf8mb4 设置数据库字符集为utf-8(解决中文乱码的问题)

--collation-server=utf8mb4_unicode_ci utf8字符排序规则

mysql:latest 镜像名称 latest最新版本,可以省略 (mysql <=> mysql:latest),也可以使用镜像mariadb (mysql的一个分支)

 

修改为允许远程连接

 

 

 

进入容器

安装后可以看到容器id (CONTAINER ID)

使用容器Id或者容器名称进入 docker exec -it <ContainerId,ContainerName> /bin/bash
docker exec -it 38ab20fe881b /bin/bash

输入命令 mysql -u root -p, 然后输入密码 进入mysql控制台

mysql -u root -p

 

 输入命令,修改远程权限。

 

grant all privileges on *.*  to 'root'@'%' ;

刷新权限。

flush privileges;  

 

 

 

 相关资料:

 Docker 安装MySQL | 菜鸟教程:http://www.runoob.com/docker/docker-install-mysql.html

 docker mysql 数据持久化到本地、设置不区别表名大小写 http://blog.51cto.com/binuu/1943176

 mariadb镜像地址:  https://hub.docker.com/_/mariadb/

 

posted on 2018-01-12 01:00  余昭(Ray)  阅读(329)  评论(0编辑  收藏  举报