>
目錄
- 一、首先在docker hub找到mysql
- 二、拉取mysql
- 三、初次創(chuàng)建運(yùn)行mysql容器,將關(guān)鍵目錄掛載到自己的目錄中
- 四、修改mysql的配置文件
- 五、刪除初次創(chuàng)建的mysql容器或者直接重啟也可以
- 六、查看容器狀態(tài)是否正在運(yùn)行
- 七、進(jìn)入mysql配置遠(yuǎn)程訪問(wèn)
- 八、使用Navicat等工具遠(yuǎn)程連接OK!
- 總結(jié)
一、首先在docker hub找到mysql
docker hub上查詢相關(guān)的鏡像,里面會(huì)附帶很多docker啟動(dòng)配置的知識(shí)
二、拉取mysql
docker pull mysql
三、初次創(chuàng)建運(yùn)行mysql容器,將關(guān)鍵目錄掛載到自己的目錄中
注意:這邊因?yàn)槲沂褂玫氖亲钚掳娴膍syql,所以會(huì)多一個(gè)目錄 -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文件,如果沒(méi)有就新建
[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 掛載出目錄測(cè)試,這邊就要先刪除
# 刪除容器 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看一下具體錯(cuò)誤了
七、進(jìn)入mysql配置遠(yuǎn)程訪問(wèn)
剛運(yùn)行的mysql,遠(yuǎn)程使用Navicat等是不允許訪問(wèn)的,所以需要配置
docker exec -it mysql /bin/bash # 進(jìn)入mysql容器終端 mysql -uroot -proot # 如果提示密碼錯(cuò)誤 嘗試不加密碼 mysql -uroot use mysql; alter USER 'root'@'localhost' IDENTIFIED BY '你的密碼'; update user set host = "%" where user='root'; flush privileges;
八、使用Navicat等工具遠(yuǎn)程連接OK!
總結(jié)
>