目錄
- 1.創建容器并進行持久化處理
- 2.配置遠程連接并嘗試
1.創建容器并進行持久化處理
#拉取鏡像 docker pull mysql:8.0.20 #啟動鏡像,用于拷貝配置文件到宿主機 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20 #查看是否啟動成功 docker ps -a #新建掛載目錄并拷貝配置文件 mkdir -p /mysqldata/ docker cp mysql:/etc/mysql /mysqldata/ #刪除原有鏡像 docker stop mysql docker rm -f mysql #啟動mysql ,掛載配置文件,數據持久化到宿主主機 docker run \ -p 13306:3306 \ --name mysql \ --privileged=true \ --restart unless-stopped \ -v /home/mysqldata/mysql:/etc/mysql \ -v /home/mysqldata/mysql/logs:/logs \ -v /home/mysqldata/mysql/data:/var/lib/mysql \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD=cqrecadmin \ -d mysql:8.0.20 #檢查是否運行成功 docker ps -a
命令解釋:
-p 端口映射
–privileged=true 掛載文件權限設置
–restart unless-stopped 設置 開機后自動重啟容器
-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql 掛載配置文件
-v /mnt/sda1/mysql8.0.20/logs:/logs \ 掛載日志
-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 掛載數據文件 持久化到主機
-v /etc/localtime:/etc/localtime 容器時間與宿主機同步
-e MYSQL_ROOT_PASSWORD=cquisse 設置密碼
-d mysql:8.0.20 后臺啟動,mysql
2.配置遠程連接并嘗試
#進入容器 docker exec -it mysql bash #登錄mysql,輸入運行容器時配置的密碼 mysql -u root -p #執行sql CREATE USER 'user_galen'@'%' IDENTIFIED WITH mysql_native_password BY 'Galen*10'; GRANT ALL PRIVILEGES ON *.* TO 'user_galen'@'%';
退出到服務器,開放對應端口
firewall-cmd --add-port=13306/tcp --permanent firewall-cmd --reload
測試連接