Docker MySQL
安裝 MySQL 鏡像
# docker pull mysql:5.7
運行 mysql
docker run --restart=always --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1
參數說明:
--restart=always 跟隨docker啓動
--privileged=true 容器root用戶享有主機root用戶權限
-v 映射主機路徑到容器
-e MYSQL_ROOT_PASSWORD=root 設置root用戶密碼
-d 後臺啓動
--lower_case_table_names=1 設置表名參數名等忽略大小寫
進入mysql命令行
docker exec -it mysql bash //mysql是啓動的服務name
登錄
mysql -uroot -proot
授權遠程登錄
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges;
修改mysqld.cnf
#如果沒有vi命令
apt-get update
#更新源
apt-get install vim
查看mysql字符集
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
設置外部訪問編碼
SET NAMES 'utf8';
修改mysql配置文件修改utf-8編碼
mkdir docker
cp /etc/mysql/mysql.conf.d/mysqld.cnf /docker/mysqld.cnf
修改配置文件mysqld.cnf內容
[mysql]
default-character-set = utf8
[mysql_safe]
default-character-set = utf8
[client]
default-character-set = utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
symbolic-links=0
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
將容器的配置文件覆蓋回去
cp /docker/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf
重啓容器
docker stop container_id
docker start container_id