1. 程式人生 > 其它 >Docker配置MySQL

Docker配置MySQL

使用Docker配置Mysql

  • 1.下載MySQL

docker pull mysql:5.7

  • 2.使用docker執行mysql

docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

  • 3.配置MySQL四步曲

進入容器內:docker exec -it 容器ID
進入到MySQL:mysql -uroot "username" -p "password"
允許名為root的使用者遠端連結:GRANT ALL ON . TO 'root'@'%'
或允許名為root密碼為1-6的使用者遠端連線、root後的@可以跟你本機的ip地址,不指定為所有:grant all privileges on .

to 'root'@'%' identified by '123456' with grant option;
修改加密規則:ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更改root密碼:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
重新整理許可權:flush privileges;
檢視使用者資訊:
select host,user,plugin,authentication_string from mysql.user;
或者摺合
docker run -d -p 3336:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root123 --name mysql01 mysql:5.7

[root@xiaozhang1999 ~]# docker run -d -p 3336:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root123 --name mysql01 mysql:5.7
ffef7728881fd32afb0afe927893e7b7d7442ab40625a807695bc2d7fd1bb05c
[root@xiaozhang1999 ~]# cd /home
[root@xiaozhang1999 home]# ll
total 0
drwxr-xr-x 2 root root 37 Jun 24 15:27 ceshi
drwxr-xr-x 4 root root 30 Jun 25 14:55 mysql
[root@xiaozhang1999 home]# cd mysql
[root@xiaozhang1999 mysql]# ll
total 0
drwxr-xr-x 2 root             root   6 Jun 25 14:55 conf
drwxr-xr-x 5 systemd-coredump root 328 Jun 25 14:55 data
[root@xiaozhang1999 mysql]# cd data
[root@xiaozhang1999 data]# ll
total 188484
-rw-r----- 1 systemd-coredump input       56 Jun 25 14:55 auto.cnf
-rw------- 1 systemd-coredump input     1680 Jun 25 14:55 ca-key.pem
-rw-r--r-- 1 systemd-coredump input     1112 Jun 25 14:55 ca.pem
-rw-r--r-- 1 systemd-coredump input     1112 Jun 25 14:55 client-cert.pem
-rw------- 1 systemd-coredump input     1680 Jun 25 14:55 client-key.pem
-rw-r----- 1 systemd-coredump input     1359 Jun 25 14:55 ib_buffer_pool
-rw-r----- 1 systemd-coredump input 79691776 Jun 25 14:55 ibdata1
-rw-r----- 1 systemd-coredump input 50331648 Jun 25 14:55 ib_logfile0
-rw-r----- 1 systemd-coredump input 50331648 Jun 25 14:55 ib_logfile1
-rw-r----- 1 systemd-coredump input 12582912 Jun 25 14:55 ibtmp1
drwxr-x--- 2 systemd-coredump input     4096 Jun 25 14:55 mysql
drwxr-x--- 2 systemd-coredump input     8192 Jun 25 14:55 performance_schema
-rw------- 1 systemd-coredump input     1680 Jun 25 14:55 private_key.pem
-rw-r--r-- 1 systemd-coredump input      452 Jun 25 14:55 public_key.pem
-rw-r--r-- 1 systemd-coredump input     1112 Jun 25 14:55 server-cert.pem
-rw------- 1 systemd-coredump input     1676 Jun 25 14:55 server-key.pem
drwxr-x--- 2 systemd-coredump input     8192 Jun 25 14:55 sys
[root@xiaozhang1999 data]# ls
auto.cnf  ca-key.pem  ca.pem  client-cert.pem  client-key.pem  ib_buffer_pool  ibdata1  ib_logfile0  ib_logfile1  ibtmp1  kukuku  mysql  performance_schema  private_key.pem  public_key.pem  server-cert.pem  server-key.pem  sys
  • 4.啟動成功之後在本地Native驗證持久化

  • 5.在本地新建個數據庫後去Liunx下檢視

  • 注意:防火牆埠設定

VM虛擬機器下:
檢視firewalld狀態,如果防火牆未工作則需要先開啟。
systemctl status firewalld//檢視狀態
systemctl start firewalld//開啟
開啟firewalld後,設定開放埠
// --permanent 永久生效,沒有此引數重啟後失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
之後重新載入設定
systemctl start firewalld
使用如下命令檢視3306號埠
firewall-cmd --zone=public --query-port=3306/tcp
阿里雲伺服器下:安全組設定配置上述用到的開放埠