使用docker創建mysql容器


1、拉取mysql容器
 
docker pull mysql:5.7
 
 
2、創建用於掛載的目錄(日志目錄、數據目錄、配置目錄)
 
如果不創建掛載目錄,一旦容器重啟,則數據會全部丟失。
mkdir -p /usr/data/mysql/logs /usr/data/mysql/data /usr/data/mysql/conf
 
 
3、創建my.cnf配置文件
 
cd /data/mysql
touch my.cnf
然后使用vim編輯my.cnf文件,文件內容如下:
[mysqld]
user=mysql
character-set-server=utf8
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=utf8
 
[mysql]
default-character-set=utf8
 
 
 
4、創建容器
 
docker run --restart=always -p 3306:3306 --name mysql -v /usr/data/mysql/conf:/etc/mysql  -v /usr/data/mysql/logs:/var/log/mysql -v /usr/data/mysql/data:/var/lib/mysql -v /usr/data/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
 
(1)如果該步驟報錯,重啟docker再運行該腳本即可(重啟命令:systemctl restart docker   由於docker是層層封裝創建容器的,因此即便是創建容器報錯,也有可能創建成功容器,因此重新執行上述命令前,需要停止並刪除已運行的mysql容器)
(2)此處注意,掛載的宿主機文件夾最好建立在有權限的文件夾下,剛開始我直接在/data下新建了相關文件夾用來掛載,容器一直重啟。
 
 
命令詳解:
--restart=always    當docker重啟時,容器也重啟
--name   容器命名
-p 3306:3306        宿主機和容器端口映射
-v(此命令中有三個-v參數) 掛載數據等內容,避免容器重啟造成的數據丟失
-e 設置環境變量(此處設置了mysql的密碼)
-d 后台啟動(容器不會因為shell的退出而停止運行)
 
5、連接mysql
(1)在命令行連接
    進入mysql容器(可以使用名稱或容器ID進入):docker exec -it mysql bash
    連接mysql服務器:mysql -uroot -p123456
    創建數據庫test:create database test;
    
 
(2)使用Navicat遠程連接
    點擊連接,選擇mysql,輸入ip地址與用戶名密碼,端口由於直接使用的宿主機的3306映射的mysql容器內的3306端口,因此直接寫3306即可,寫完后點擊測試鏈接,顯示連接成功即OK。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM