IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker部署最新版本Mysql,并使用Navicat连接 -> 正文阅读

[系统运维]Docker部署最新版本Mysql,并使用Navicat连接

最近调查一些开源工具时,发现大部分版本为很多sql脚本不支持mysql5.6,服务器中的mysql卸载安装又很麻烦,于是用Docker启动一个最新版本。

1. 首先,安装Docker:

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
#启动docker服务
systemctl start docker
#设置开机启动
systemctl enable docker
#验证
docker info

2. 拉取mysql最新版镜像并查看是否成功,启动实例并查看

docker pull mysql

$ sudo docker images

sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=要设置的密码 -d mysql

docker container ls

解释:

  • –name:容器名,此处命名为mysql
  • -e:配置信息,此处配置mysql的root用户的登陆密码
  • -p:端口映射,此处映射 主机3306端口 到 容器的3306端口
  • -d:后台运行容器,保证在退出终端后容器继续运行

3. 此时外界还无法访问,需要设置访问权限,首先进入容器中的MySql:

$ sudo docker exec -it mysql bash
$ mysql -uroot -p你的密码

老版本授权的命令为:

grant all privileges on *.* to root@'%' identified by "password";

目前最新的8.0.27版本不再支持此命令,需要执行三条sql:

#创建账户
create user 'root'@'当前ip' identified by  'password';

#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
grant all privileges on *.* to 'root'@'当前ip' with grant option;

#改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从MySQL数据库的内置库中提取到内存里
flush privileges;

4. 服务端授权处理完了,但Navicat链接还是会报错:

连接Docker启动的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

这是由于当前版本的Navicat还不支持mysql8的加密方式,需要在容器中的mysql输入命令

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

来将所有ip访问当前mysql时身份验证加密方式改为原始的mysql_native_password。

至此就可以使用Navicat来操作数据库了。

另附:Linux中退出sql界面的命令为\q,再退出当前容器命令为ctrl+D,由于启动时已经设置后台运行,退出后mysql依然存活。

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:40:48  更:2021-11-29 16:41:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:30:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码