下载镜像
$ docker pull mysql
创建相关目录和文件
$ mkdir -p /usr/mysql/conf /usr/mysql/data
$ chmod -R 755 /usr/mysql/
$ vi /usr/mysql/conf/my.cnf
附参考的my.cnf 的内容(注:配置参数存在版本差异,如启动失败,可让容器自动生成)
[client]
default-character-set = utf8mb4[mysqld]
datadir = /var/lib/mysql
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
default-time_zone = '+8:00'secure-file-priv= NULL
运行镜像
$ docker run --restart=unless-stopped -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
设置挂载
$ docker run --restart=unless-stopped -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明:
-v 挂载宿主机目录和 docker容器中的目录
-d 后台运行
-p 映射容器端口号和宿主机端口号
-e 环境参数
设置远程连接
1.进入mysql
$ docker exec -it mysql /bin/bash
2.直接使用mysql命令
//登录数据库
$ mysql -uroot -p 123456
//使用mysql数据库
$ mysql> use mysql
//修改数据库
$ mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//重新修改密码后可连接成功
$ mysql> flush privileges;