Linux安装MySQL5.7 (docker安装方式)
说明:docker安装传送门:Docker相关知识了解学习及Cenos 7安装Docker详细教程【附docker常用命令】
- 查找MySQL镜像
[root@localhost /]# docker search mysql
......
- 拉取MySQL镜像
[root@localhost /]# docker pull mysql:5.7
3.查看镜像
[root@localhost /]# docker images
4.本地创建配置文件挂在目录
[root@localhost /]# mkdir docker
[root@localhost /]# mkdir /docker/mysql
[root@localhost /]# mkdir /docker/mysql/conf
[root@localhost /]# mkdir /docker/mysql/data
[root@localhost /]# touch /docker/mysql/conf/my.cnf
[root@localhost /]# vim /docker/mysql/conf/my.cnf
#加入一下内容
[mysqld]
max_connections = 1000
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
- 创建容器
docker run -itd -p 3306:3306 --name mysql5.7 -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
[root@localhost /]# docker run -itd -p 3306:3306 --name mysql5.7 -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
5de58eb5f8ef6c31c1667191257f981b5bfafcbb1777ae54a8f973412d21dc6e
[root@localhost /]#
参数说明:
-i :以交互模式运行容器
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d :后台运行容器,并返回容器ID
-p :表示地址映射调用 宿主3306端口操作容器端口3306
-v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf 宿主主机目录/docker/mysql/conf/my.cnf配置文件映射Docker中的/etc/mysql/my.cnf 配置文件目录 -v /usr/local/mysql/data:/etc/mysql/data同上
character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
查看容器是否已启动
[root@localhost /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5de58eb5f8ef mysql:5.7 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql5.7
[root@localhost /]#
4.进入容器docker exec -it 2e23699b4f0e /bin/sh
[root@localhost /]# docker exec -it 5de58eb5f8ef /bin/sh
#
5.登陆mysql
[root@localhost /]# docker exec -it 5de58eb5f8ef /bin/sh
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, 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.修改远程权限:alter user 'root'@'%' identified with mysql_native_password by '123456'
;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql>
7.验证配置文件挂在是否生效
mysql> show variables like '%max_connection%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
1 row in set (0.00 sec)
mysql>
已生效,如果需要修改mysql配置文件,只需修改本地挂在文件vim /docker/mysql/conf/my.cnf