>
目錄
- 一、首先在docker hub找到mysql
- 二、拉取mysql
- 三、初次創(chuàng)建運(yùn)行mysql容器,將關(guān)鍵目錄掛載到自己的目錄中
- 四、修改mysql的配置文件
- 五、刪除初次創(chuàng)建的mysql容器或者直接重啟也可以
- 六、查看容器狀態(tài)是否正在運(yùn)行
- 七、進(jìn)入mysql配置遠(yuǎn)程訪問
- 八、使用Navicat等工具遠(yuǎn)程連接OK!
- 總結(jié)
一、首先在docker hub找到mysql
docker hub上查詢相關(guān)的鏡像,里面會附帶很多docker啟動配置的知識
二、拉取mysql
docker pull mysql
三、初次創(chuàng)建運(yùn)行mysql容器,將關(guān)鍵目錄掛載到自己的目錄中
注意:這邊因為我使用的是最新版的msyql,所以會多一個目錄 -v /home/mysql/mysql-files:/var/lib/mysql-files
docker run -d -p 3306:3306 --name mysql -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=my_password mysql
四、修改mysql的配置文件
修改my.cnf文件,如果沒有就新建
[mysqld] user=mysql character-set-server=utf8mb4 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
五、刪除初次創(chuàng)建的mysql容器或者直接重啟也可以
這里要看第一次創(chuàng)建容器的命令是否是正確想要一直運(yùn)行的,如果第一次只是-it 掛載出目錄測試,這邊就要先刪除
# 刪除容器 docker rm -f mysql # 重新創(chuàng)建 x docker run -d -p 3306:3306 --name mysql -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=my_password mysql # 重啟容器 docker restart mysql
六、查看容器狀態(tài)是否正在運(yùn)行
這邊處于運(yùn)行狀態(tài)就ok了,如果是exit,就要-it看一下具體錯誤了
七、進(jìn)入mysql配置遠(yuǎn)程訪問
剛運(yùn)行的mysql,遠(yuǎn)程使用Navicat等是不允許訪問的,所以需要配置
docker exec -it mysql /bin/bash # 進(jìn)入mysql容器終端 mysql -uroot -proot # 如果提示密碼錯誤 嘗試不加密碼 mysql -uroot use mysql; alter USER 'root'@'localhost' IDENTIFIED BY '你的密碼'; update user set host = "%" where user='root'; flush privileges;
八、使用Navicat等工具遠(yuǎn)程連接OK!
總結(jié)
>