Linux环境使用Docker安装MySql

系统环境:

CentOS 7.6 64位(同样适用于Ubuntu)

安装步骤:

1.创建文件夹

 /home/docker/mysql/config

 /home/docker/mysql/data

2.在config目录下创建并编辑配置字符集文件

 输入命令:vi my.cnf

  [mysqld]

  user=mysql

  character-set-server=utf8

  [client]

  default-character-set=utf8

  [mysql]

  default-character-set=utf8

3.下载镜像并用外部匿名卷挂载配置和数据

$ docker run

-d -p 3306:3306

-e MYSQL_USER="vinson" -e MYSQL_PASSWORD="Pwd@123456" -e MYSQL_ROOT_PASSWORD="Pwd@123456"

--name mysql

-v /home/docker/mysql/config/my.cnf:/etc/my.cnf -v /home/docker/mysql/data:/var/lib/mysql

mysql/mysql-server

4.进入MySql设置权限(使用root账号设置管理员权限,不设置无法创建数据库)

$ docker exec -it mysql bash

$ mysql -uroot -p

$ use mysql

$ GRANT ALL PRIVILEGES ON *.* TO 'vinson'@'%' WITH GRANT OPTION;

5.在MySql中查看字符集

$ show variables like '%char%';

6.在MySql中查看用户访问权限

select user,host from user;

7.创建新用户(可选)

$ docker exec -it mysql bash

$ mysql -uroot -p

$ use mysql

ps:以上三步是为了进入MySql容器,如果此时你已经在容器里,可以忽略,不需要重复执行

$ CREATE USER 'vinson2'@'localhost' IDENTIFIED BY 'Pwd@123456';

$ GRANT ALL PRIVILEGES ON *.* TO 'vinson2'@'localhost' WITH GRANT OPTION;

$ CREATE USER 'vinson2'@'%' IDENTIFIED BY 'Pwd@123456';

$ GRANT ALL PRIVILEGES ON *.* TO 'vinson2'@'%' WITH GRANT OPTION;

8.在Docker中查看镜像和容器

9.使用Navicat测试连接

原文地址:https://www.cnblogs.com/zhizu2/p/11937565.html