docker pull mysql:5.7mysql
拉取MySQL5.7鏡像sql
docker imagesdocker
查看本地的鏡像bash
docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7
先讓容器在後臺運行,並取個別名爲mysql5.7,此時尚未修改配置文件tcp
docker pside
查看正在運行的容器ui
docker exec mysql5.7 ls /etc/mysql編碼
查看容器內部的配置文件spa
docker exec -it mysql5.7 /bin/bash3d
進入容器終端
mysql -uroot -p
進入mysql終端,並輸入密碼
grant all privileges on *.* to root@'%' identified by 'Abcdef@123456';
賦予root帳號遠程訪問權限
flush privileges;
刷新權限
quit;
退出mysql終端
exit
退出容器終端
mkdir -p /root/mysql5.7/conf
在宿主機建立配置文件目錄
docker cp -a mysql5.7:/etc/mysql/ /root/mysql5.7/conf
複製容器內部的配置文件到宿主機
mkdir /root/mysql5.7/data
在宿主機建立數據目錄
chmod -R 777 /root/mysql5.7
賦予宿主機/root/mysql5.7目錄最高讀寫權限
docker rm -f mysql5.7
刪除mysql5.7容器,-f參數是強制刪除運行中的容器
docker run --restart=always -p 3306:3306 --name mysql5.7 -v /root/mysql5.7/conf:/etc/mysql -v /root/mysql5.7/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Abcdef@123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
從新運行容器,映射端口,並掛載配置文件、數據文件,設置帳號密碼,並設置編碼方式爲UTF-8
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
開放宿主機防火牆3306端口