docker安装mysql及连接教程

mysql的简单介绍:

MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。

二  查看可用的MySQL版本:

访问DokcerHub中的MySQL镜像库地址:Docker

可以通过 Sort by 查看其他版本的MySQL,查看最新版本MySQL镜像(mysql:latest):Docker

此外,我们还可以用docker search mysql命令来查看可用版本:

Docker search mysql

三  拉取最新版本的MySQL镜像:

docker pull mysql:latest

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

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

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

docker images

五  创建并运行一个MySQL容器:

docker run --name=mysql-test -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql

参数说明:

--name:指定了容器的名称,方便之后进入容器的命令行。

-itd:其中,i是交互式操作,t是一个终端,d指的是在后台运行。

-p:指在本地生成一个随机端口,用来映射mysql的3306端口。

-e:设置环境变量。

MYSQL_ROOT_PASSWORD=root123456:指定了MySQL的root密码

-d mysql:指运行mysql镜像,设置容器在在后台一直运行。

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

docker ps

 七  进入MySQL容器:

docker exec -it mysql-test /bin/bash

八  进入MySQL:

mysql -uroot -p

Enter password:root123456

九  MySQL开启远程访问权限:

1、切换数据库

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

十  MySQL开启远程访问权限:

1、切换数据库

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

use mysql;

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

GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;

参数说明:

GRANT:赋权命令

ALL PRIVILEGES:当前用户的所有权限

ON:介词

*.*:当前用户对所有数据库和表的相应操作权限

TO:介词

‘root’@’%’:权限赋给root用户,所有ip都能连接

WITH GRANT OPTION:允许级联赋权

3、强制刷新权限

FLUSH PRIVILEGES;

 十一  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:root123456

2.选择数据库

use mysql;

3.更改密码加密方式

IDENTIFIED BY ‘root123456’:连接时输入密码,密码为root123456

ALTER USER 'root'@'%' IDENTIFIED BY 'root123456' PASSWORD EXPIRE NEVER;

4.更新用户密码

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

5.刷新权限

FLUSH PRIVILEGES;

Navicat连接MySQL测试:

本次教程到此结束,感谢观看。

猜你喜欢

转载自blog.csdn.net/lyhshs/article/details/130042156