天天看点

docker挂载安装mysql

1、拉取mysql镜像

docker pull mysql:5.7
           

2、创建目录

cd /opt/docker
[[email protected] docker]# mkdir mysql
[[email protected] docker]# cd mysql/
[[email protected] mysql]# mkdir logs
[[email protected] mysql]# mkdir conf
[[email protected] mysql]# mkdir data
           

3、运行启动mysql

docker run -p 3306:3306 --name mysql5.7 -v /opt/docker/mysql/conf:/etc/mysql -v /opt/docker/mysql/logs:/var/log/mysql -v /opt/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
           

4、查看是否启动成功

[[email protected] mysql]# docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
99de5619b5e3   mysql:5.7              "docker-entrypoint.s…"   5 seconds ago    Up 4 seconds    0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql5.7
           

5、进入容器、进入mysql

[[email protected] mysql]# docker exec -it mysql5.7 bash
[email protected]:/#
[email protected]619b5e3:/# 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 2
Server version: 5.7.34 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

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、修改配置允许远程连接(设置权限(为root分配权限,以便可以远程连接):)

mysql> grant all PRIVILEGES on *.* to [email protected]'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

mysql> 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)