Docker超详细安装Mysql57并进行挂载

8次阅读

共计 1378 个字符,预计需要花费 4 分钟才能阅读完成。

1、下载 mysql 5.7 镜像

docker pull mysql:5.7

2、创建 mysql 容器并启动

docker run -d -p 3306:3306 -e MYSQL_USER="ppx" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysqltest1 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci

对上述参数进行解释:

-e MYSQL_USER="":设置用户名
-e MYSQL_PASSWORD="":设置该用户的密码
-e MYSQL_ROOT_PASSWORD="":设置 root 用户密码
--character-set-server=utf8:设置字符集为 utf8
--collation-server=utf8_general_cli:设置字符规则为 utf8_general_cli

3、对 mysql 进行挂载

mkdir /opt
mkdir /opt/mysql
mkdir /opt/mysql/conf
mkdir /opt/mysql/data
 
创建并修改 my.cnf 配置文件
vim /opt/mysql/conf/my.cnf
 
my.cnf 添加如下内容:[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

挂载目录可以按照自己想法建,但上下级关系要正确,即 mysql 下有 conf 和 data。

4、创建容器并启动

docker run -d -p 3307:3306 --privileged=true -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 mysql:5.7

参数说明:

     --privileged=true:容器内的 root 拥有真正 root 权限,否则容器内 root 只是外部普通用户权限
    -v /opt/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件
    -v /opt/mysql/data:/var/lib/mysql:映射数据目录

5、设置 mysql 字符编码

vi /mydata/mysql/master/conf/my.cnf
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
正文完
 0