1. 下载Mysql的Docker镜像:
- $ docker search mysql (搜索mysql镜像)
- $ docker pull mysql (下载mysql镜像,默认最新版本)
2. 运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306。测试过程没有挂载本地数据盘:
- $ docker run -it --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
3. 查看已运行的容器:
- $ docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- a42f31094df5 mysql "docker-entrypoint.s…" 7 seconds ago Up 6 seconds 0.0.0.0:3306->3306/tcp mysql
4. 进入mysql容器:
- docker exec -it mysql bash
- root@a42f31094df5:/#
5. 在容器内登陆Mysql:
- root@a42f31094df5:/# mysql -uroot -p123456 或 (mysql -uroot -p )
- 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 9
- Server version: 8.0.11 MySQL Community Server - GPL
-
- Copyright (c) 2000, 2018, 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>
6. 查看用户信息
- mysql> select host,user,plugin,authentication_string from mysql.user;
- +-----------+------------------+-----------------------+------------------------------------------------------------------------+
- | host | user | plugin | authentication_string |
- +-----------+------------------+-----------------------+------------------------------------------------------------------------+
- | % | root | caching_sha2_password | $A$005$^]RQB}j~t! .#v)3.UogPRFu8VJA5/GKEbK5edEQlMT5sHw2n72zYJNlIbo3 |
- | localhost | mysql.infoschema | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
- | localhost | mysql.session | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
- | localhost | mysql.sys | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
- | localhost | root | caching_sha2_password | $A$005$Y6&q!59^Fmh)@-6TG58J3F5+3I/HI9L|JCadNG+-+d6W+1D_UFW+7MRD7F3 |
- +-----------+------------------+-----------------------+------------------------------------------------------------------------+
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
navicat链接错误;我们继续往下看;
- mysql> ALTER user ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘;
- Query OK, 0 rows affected (0.01 sec)
- mysql>
- mysql> FLUSH PRIVILEGES;
- Query OK, 0 rows affected (0.01 sec)
-
- mysql>
7..连接数据库的