系統環境:
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測試連接