1. mysql 容器化
docker pull mysql
2. 数据持久化
docker run --name mysql-helloworld -p 3309:3306 -v /home/neil/mysql-data/helloworld/conf:/etc/mysql/conf -v /home/neil/mysql-data/helloworld/logs:/logs -v /home/neil/mysql-data/helloworld/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
2.1 添加 --restart=always
2.2 事后更新 docker update mysql-helloworld --restart=always
3. 修改配置使SQLyog远程访问
[neil@localhost ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
716f6ea727e9 mysql:latest "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 33060/tcp, 0.0.0.0:3309->3306/tcp mysql-helloworld
45f71fdc57a8 mysql:latest "docker-entrypoint.s…" 6 days ago Up 27 hours 33060/tcp, 0.0.0.0:3308->3306/tcp mysql8.0-test0
[neil@localhost ~]$ docker exec -it 716f6ea727e9 bash
root@716f6ea727e9:/# mysql -uroot -p123456
mysql: [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 10
Server version: 8.0.17 MySQL Community Server - GPL
Copyright (c) 2000, 2019, 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> alter user 'root'@'%' identified by '123456' password expire never;
Query OK, 0 rows affected (0.04 sec)
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> alter user 'root'@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)