找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4|回复: 0

基于Docker构建MYSQL服务器实战

[复制链接]

27

主题

27

回帖

218

积分

管理员

积分
218
发表于 昨天 13:06 | 显示全部楼层 |阅读模式
在日常工作环境中,通过手工方式部署MYSQL,尤其是MAKE源码编译部署方式,非常耗时,而且操作繁琐。有没有一种更快捷、高效的方法呢?

基于Docker部署MYSQL数据库,可以省去MYSQL的安装配置过程,熟练使用Docker构建MYSQL环境变得越来越简单、高效。如下为Docker构建MYSQL数据库的方法和步骤。

基于Docker平台MYSQL,从Docker仓库搜索mysql镜像文件,操作的方法和指令如下:

docker search mysql



从Docker官方仓库中下载mysql镜像文件,操作的方法和指令如下:

docker pull mysql:8.0.20



查看已经下载的OpenEuler镜像文件和列表信息,操作的方法和指令如下:

ls -l /var/lib/docker/image/overlay2/

docker images|grep mysql



基于MYSQL镜像文件,创建一台MYSQL数据库实例,操作的方法和指令如下:

docker run -itd --name=mysql01 -p 3306:3306 -v /data/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=aaaAAA111. --privileged mysql:8.0.20

Run,全新创建&启动新容器;

-i,interactive打开交互模式;

-t,tty打开登录终端;

-d,detach后台启动;

-v,volume目录映射,将宿主机目录映射至数据库中;

-e,设置环境变量和数值;

--name,指定或者自定义容器的名称;

--privileged,开启超级特权模式,支持更多指令操作。

查看mysql数据库运行的状态和IP地址,操作的方法和指令如下:

docker ps -a

docker inspect mysql01|grep -aiE ipaddr|tail -1



进入mysql数据库容器中,操作的方法和指令如下:

docker exec -it mysql01 /bin/bash



进入MYSQL数据库可以通过用户名和密码登录数据库,如图所示:

mysql -uroot -paaaAAA111.



create database jfedu001;

show databases;





通过远程客户端连接MYSQL Server服务端,需要在MYSQL服务端创建账号并且授权访问权限。操作的方法和指令如下:

#修改数据库授权允许单个IP或者所有人访问;

ALTER USER 'root'@'%' IDENTIFIED BY 'aaaAAA111.';

#mysql8.0之前的版本中加密规则是mysql_native_password, 而在mysql8之后,加密规则是caching_sha2_password,使用navicat进行mysql登录时出现弹窗报错,需要支持native模式。

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

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

FLUSH PRIVILEGES;



最后通过Navicat for mysql数据库,如图所示:

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表