Docker 安装MySQL数据库并开启远程连接

docker安装MySQL数据库并开启远程连接

1.使用docker命令拉取镜像 这里以MySQL5.7版本为例

docker pull mysql:5.7

注: 如果要安装最新版本MySQL 执行命令

docker pull mysql:latest

2.查看镜像

docker images

3.在home目录下创建mysql文件夹

cd /home
mkdir mysql
cd /home/mysql

4.安装mysql

docker run -p 3306:3306 --name mysql --privileged=true \-v $PWD/conf:/etc/mysql/conf.d \-v $PWD/logs:/var/log/mysql \-v $PWD/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
#命令解释:

	-p 3306:3306 暴露端口 将容器内3306端口映射到服务器端口
	--name mysql 设置容器名称
	--privileged=true 给容器加上特定权限
	-v PWD/conf:/etc/mysql/conf.d \
    -v PWD/logs:/var/log/mysql \
    -v $PWD/data:/var/lib/mysql   挂载容器文件目录到服务器文件目录
    -e MYSQL_ROOT_PASSWORD=123456 设置root用户密码
	-d mysql:5.7  后台运行
# Ubuntu 安装 非root账户要加上sudo
docker run -d --name mysql -v /home/sizhenpeng/data/mysql/data:/var/lib/mysql -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci 

为root账号开启远程连接权限

1.查看容器id

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
bf9f65de3169        mysql:5.7           "docker-entrypoint..."   25 seconds ago      Up 24 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

2.进入容器

[root@localhost ~]# docker exec -it bf9f65de3169 /bin/bash

3.使用root用户登录MySQL数据库

root@bf9f65de3169:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36 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> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

4.修改root用户权限

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)

5.刷新权限

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Karma's a Bitch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值