安装docker
url -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 启动docker
sudo systemctl start docker 查看mysql镜像版本
安装mysql
docker pull mysql:8.0.23[root@localhost /]# docker pull mysql:8.0.238.0.23: Pulling from library/mysqlf7ec5a41d630: Pull complete9444bb562699: Pull complete6a4207b96940: Pull complete181cefd361ce: Pull complete8a2090759d8a: Pull complete15f235e0d7ee: Pull completed870539cd9db: Pull complete5726073179b6: Pull completeeadfac8b2520: Pull completef5936a8c3f2b: Pull completecca8ee89e625: Pull complete6c79df02586a: Pull completeDigest: sha256:6e0014cdd88092545557dee5e9eb7e1a3c84c9a14ad2418d5f2231e930967a38Status: Downloaded newer image for mysql:8.0.23docker.io/library/mysql:8.0.23 检查镜像是否安装
docker images[root@localhost /]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql 8.0.23 cbe8815cbea8 9 months ago 546MB 运行mysql
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.23[root@localhost /]# docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.2373af0186ed0c7846a91cc45c6e04de9b848192adb0a214fac3a0f660ddceb737[root@localhost /]#[root@localhost /]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES73af0186ed0c mysql:8.0.23 "docker-entrypoint.s…" 8 seconds ago Up 6 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql –name:容器名 -p:端口映射,主机到端口 -e:此处配置配置信息mysql的root用户登录密码 -d:退出终端后,容器继续运行
映射目录方式
docker run -p 3306:3306 --name mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/logs:/var/log/mysql \-v /usr/local/docker/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:8.0.23[root@localhost mysql]# docker run -p 3306:3306 --name mysql \> -v /usr/local/docker/mysql/conf:/etc/mysql \> -v /usr/local/docker/mysql/logs:/var/log/mysql \> -v /usr/local/docker/mysql/data:/var/lib/mysql \> -e MYSQL_ROOT_PASSWORD=123456 \> -d mysql:8.0.23366873a17b552cc793053f19b3d9e1c4c53ac8b2c1272cb0d52c7ac362c3e510
查看运行情况
# 查看状态docker ps -a[root@localhost /]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES73af0186ed0c mysql:8.0.23 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql# 是否正确docker container ls[root@localhost /]# docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES73af0186ed0c mysql:8.0.23 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
连接mysql
sudo docker exec -it mysql bashmysql -uroot -p123456[root@localhost /]# docker exec -it mysql bashroot@73af0186ed0c:/# mysql -uroot -p123456mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 8.0.23 MySQL Community Server - GPLCopyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
若无法访问可能是防火墙问题
# 开放端口:$ systemctl status firewalld$ firewall-cmd --zone=public --add-port=3306/tcp -permanent$ firewall-cmd --reload# 关闭防火墙:$ sudo systemctl stop firewalld
进入docker设置密码
$ sudo docker exec -it mysql bash$ mysql -uroot -p123456mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select host,user,authentication_string from user;+-----------+------------------+------------------------------------------------------------------------+| host | user | authentication_string |+-----------+------------------+------------------------------------------------------------------------+| % | root | $A$005$|IUL 3-]ei\wWg0P8VHAZSKty7zs1vTxsaTO8afXEfvNZ6P9mP/.MEx20 || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root | $A$005$+xz+9bcxi1t=*Dpx-dGlUpL/Ha2IOnAA5qODKurVzsolOEKhnHt5uHZ6Rzgj0 |+-----------+------------------+------------------------------------------------------------------------+5 rows in set (0.00 sec)mysql> ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '111111';Query OK, 0 rows affected (0.19 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> select host,user,authentication_string from user;+-----------+------------------+------------------------------------------------------------------------+| host | user | authentication_string |+-----------+------------------+------------------------------------------------------------------------+| % | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root | $A$005$+xz+9bcxi1t=*Dpx-dGlUpL/Ha2IOnAA5qODKurVzsolOEKhnHt5uHZ6Rzgj0 |+-----------+------------------+------------------------------------------------------------------------+5 rows in set (0.00 sec)# 密码改回123456mysql> ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> select host,user,authentication_string from user;+-----------+------------------+------------------------------------------------------------------------+| host | user | authentication_string |+-----------+------------------+------------------------------------------------------------------------+| % | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED || localhost | root | $A$005$+xz+9bcxi1t=*Dpx-dGlUpL/Ha2IOnAA5qODKurVzsolOEKhnHt5uHZ6Rzgj0 |+-----------+------------------+------------------------------------------------------------------------+5 rows in set (0.00 sec)