docker安装必备软件

docker 安装软件踩坑。

[toc]

Docker安装MySQL并使用Navicat连接

docker search mysql命令来查看可用版本

拉取最新版本的MySQL镜像:

注意:tag是可选的,tag表示标签,多为软件的版本,默认是latest版本(最新版)

$ docker pull mysql:latest

验证MySQL镜像是否成功拉取到本地:

使用以下命令来查看mysql镜像是否成功拉取到本地:

$ docker images

创建并运行一个MySQL容器:

$ docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /Users/ctwang/home/docker/mysql/data:/var/lib/mysql -v /Users/ctwang/home/docker/mysql/config:/etc/mysql/conf.d -d mysql:latest

参数说明:

  • --name:指定了容器的名称,方便之后进入容器的命令行。\
  • -p:指在本地生成一个随机端口,用来映射mysql的3306端口。
  • -e:设置环境变量 MYSQL_ROOT_PASSWORD=root:指定了MySQL的root密码
  • -v: 指定数据文件和配置文件
  • -d mysql:指运行mysql镜像,设置容器在在后台一直运行。

验证MySQL容器是否创建并运行成功:

$ docker ps -a

1、进入MySQL容器:

$ docker exec -it mysql /bin/bash

2、进入MySQL:

mysql -uroot -p

Enter password:root

MySQL开启远程访问权限:

1、切换数据库

注意:默认应该就是这个,不切换也行,保险起见还是切换一下

2、给root用户分配远程访问权限

mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;
mysql> flush privileges;

参数说明:

  • GRANT:赋权命令
  • ALL PRIVILEGES:当前用户的所有权限
  • ON:介词
  • *.*:当前用户对所有数据库和表的相应操作权限
  • TO:介词
  • ‘root’@’%’:权限赋给root用户,所有ip都能连接
  • WITH GRANT OPTION:允许级联赋权

3、强制刷新权限

踩坑:Navicat 连接 MySQL8 报错:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;

参考:传送

错误问题原因:

  这是因为MySQL8之前密码加密规则为mysql_native_password,而 MySQL8 之后的加密规则为caching_sha2_password,也就是说,如果要用Navicat连接MySQL,其实只需要将密码规则改回 mysql_native_password 即可;

解决方法:

1.进入MySQL数据库
docker exec -it mysql-test /bin/bash
mysql -uroot -p
Enter password:root
2.选择数据库
3.更改密码加密方式
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 
4.更新用户密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

报错:ERROR 1524 (HY000): Plugin ‘mysql_native_password’ is not loaded

问题原因参考:传送

/mysql/config/my.cnf文件添加配置项mysql_native_password=ON

完整配置:

[mysqld]
lower_case_table_names=1
mysql_native_password=ON

说明:
lower_case_table_names=1 大小写不敏感

5.刷新权限

成功


   转载规则


《docker安装必备软件》 Will 采用 知识共享署名 4.0 国际许可协议 进行许可。
 本篇
docker安装必备软件 docker安装必备软件
docker 安装软件踩坑。 [toc] Docker安装MySQL并使用Navicat连接用docker search mysql命令来查看可用版本 拉取最新版本的MySQL镜像:注意:tag是可选的,tag表示标签,多为软件的版本
2024-05-12
下一篇 
部署相关小记 部署相关小记
一次项目分布式部署,遇到相关问题的总结笔记。 [toc] 服务器结构图: springboot jar启动应用这个主要是在部署上层业务平台时遇到配置文件反复修改时需要重新打包,比较麻烦,所以建议,将配置文件外置,可直接服务器上修改。
2019-06-20
  目录