Docker 部署mysql 5.7.20


1 下載鏡像

[root@node-11 ~]# docker pull mysql:5.7.20

2 創建mysql目錄

[root@node-11 ~]# mkdir /opt/mysql/{data,conf,logs} -p
目錄說明:
    data:數據目錄
    conf:配置文件
    logs:日志目錄

3 編輯配置文件

[root@node-11 ~]# vim /opt/mysql/conf/mysqld.cnf
[mysqld]
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
lower_case_table_names = 1  ## 忽略mysql查詢大小寫

注意:這只是簡單的mysql參數,具體的參數需要根據業務需求,自行添加即可,這里需要注意的是,涉及到mysql數據目錄的話,一定要寫容器內的路徑,而不是映射到宿主機的目錄。

4 啟動

[root@node-11 ~]# docker run -d -p 3306:3306 --name mysql \
 -v /opt/mysql/data:/var/lib/mysql \
 -v /opt/mysql/logs:/var/log/mysql \
 -v /opt/mysql/conf:/etc/mysql/mysql.conf.d \
 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.20

參數解釋:

  1. --name: 容器名稱
  2. -p 3306: 映射端口
  3. MYSQL_ROOT_PASSWORD:mysql初始密碼
  4. -v冒號前面是宿主機目錄,后面是容器目錄

查看啟動狀態

5 設置遠程登錄

[root@node-11 ~]# docker exec -it mysql /bin/bash
root@cd0fb7617eb9:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> exit

6 測試遠程登錄

使用navicat輸入ip地址,用戶名密碼測試連接即可


免責聲明!

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



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