docker安装mysql:8.0.26

😊 @ 作者: 瓶盖子io

💖 @ 主页: 瓶盖子io-CSDN博客

1.拉取MySQL镜像 :

docker pull mysql:8.0.26(指定版本)


2.查看镜像:

docker images


3.创建mysql容器实例并运行

docker run -it --name mymysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0.26


4.查看容器实例:

docker ps -a


5.进入mysql容器并登陆

docker exec -it 013392c286a4 bash
  这里的“013392c286a4 ”,表示当前容器id,可通过 docker ps -a 命令查看。


  此时已经进入了容器,随后可以进行登陆。

mysql -uroot -p  随后再输入密码,即可进入mysql服务中!


  
6.执行远程连接(如果连接数据库报错可以访问以下进行解决)

Mysql连接报错:1130-host ... is not allowed to connect to this MySql server-阿里云开发者社区 (aliyun.com)


5.1 mysql 8 远程连接


  mysql 8以上默认使用的是caching_sha2_password身份验证机制,之前用的是mysql_native_password,所以远程连接可能会抛出1521、2059 等错误(大多是因为navicat不是最新版,而是老的盗版,最新版支持mysql 8加密方式),需要修改用户的密码加密校验方式!
  进入mysql容器并登陆mysql,执行:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

  这里的password是自己指定的密码,‘root’@’%'表示任何ip都可以连接。随后刷新,即可正常远程连接!
flush privileges;

  至于远程访问权限,默认都是授予的,因此不必设置。

7 修改时区


  mysql默认存储时间类型的数据的时间值与系统时间总是不对应,相差8个小时。如果使用简单的设置,那么docker中每一次启动mysql实例,设置信息还是会被还原,因此我们这里需要修改配置文件,达到永久设置系统时区的功能!
  首先进入mysql容器(不需要登陆),第6点已经讲了。随后进入my.cnf的目录:

cd /etc/mysql
1
  添加一行:default-time_zone = ‘+8:00’ 配置到my.cnf末尾即可实现永久更改。

echo "default-time-zone = '+08:00'">>my.cnf

  在代码的url中也可以添加serverTimezone=Asia/Shanghai参数来临时设置时区。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

瓶盖子io

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

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

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

打赏作者

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

抵扣说明:

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

余额充值