Docker安装mysql

1.查看mysql版本

https://hub.docker.com/_/mysql/tags
mysql版本
我选择8.0.32,点击右侧复制图标直接复制拉取镜像命令。

2.拉取镜像

docker pull mysql:8.0.32

拉取mysql

查看是否拉取成功

docker images

查看镜像

3.创建mysql配置和数据文件夹

mkdir -p /usr/local/docker/mysql/conf
mkdir -p /usr/local/docker/mysql/data
mkdir -p /usr/local/docker/mysql/log

4.创建配置文件

vi /usr/local/docker/mysql/conf/my.cnf
[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
#服务端口号 默认3306
port=3306
 
datadir = /usr/local/docker/mysql/data
 
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
 
# 最大连接数
max_connections=200
 
# 连接失败的最大次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=20
 
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

my.cnf

先按ESC键再 :wq回车保存退出

5.启动容器

docker run -p 3306:3306  \
--name mysql8032 \
--privileged=true \
-v /usr/local/docker/mysql/log:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=roottt \
-d mysql:8.0.32

在这里插入图片描述
–privileged=true设置MySQL 的root用户权限, 否则外部不能使用root用户登陆。

-e MYSQL_ROOT_PASSWORD=123456设置MySQL数据库root用户的密码

-v /usr/local/docker/mysql/data:/var/lib/mysql 将外机中/usr/local/docker/mysql/data挂载到容器的/var/lib/mysql
-v /usr/local/docker/mysql/conf:/etc/mysql/conf.d 将外机中/usr/local/docker/mysql/conf挂载到容器的/etc/mysql/conf.d

6.查看启动后的容器

docker ps

启动的容器

7.设置密码等

实际原来的123456仍然有效,只不过只能localhost机器能用(在MySQL服务器上的mysql命令直连时可以使用)Navicat不能用。

7.1进入容器内部

docker exec -it mysql8032 /bin/bash

mysql容器内部

7.2连接mysql

mysql -u root -p

输入前边设置的密码:123456,然后回车。
连接mysql

7.3修改访问主机以及密码

ALTER USER 'root'@'%' IDENTIFIED BY '新密码';

在这里插入图片描述

Mysql8.0 默认采用 caching-sha2-password 加密,有可能旧的客户端不支持,可改为 mysql_native_password;

CREATE USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '222333';

7.4刷新权限

FLUSH PRIVILEGES;

刷新权限

8.Navicat测试连接

如果是云服务器,还需要开放端口。
如果是本地虚拟机,可以关闭防火墙或者开放端口
测试连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值