小知识:Docker安装配置MySQL的实现步骤

目录 前言 环境 安装 创建并启动MySQL容器 提醒 创建并启动MySQL容器命令 参数说明: 进入到MySQL容器内部进行配置 进入命令 连接MySQL 更改MySQL密码 测试连接

前言

MySQL 是世界上最受欢迎的开源数据库,So~本文将演示如何在Docker上安装并且配置MySQL。

%小知识:Docker安装配置MySQL的实现步骤-猿站网-插图

环境

CentOS 7 Docker 20.10.10

安装

拉取镜像

docker pull mysql

如果要指定版本,在mysql后面加上:+版本号,例如:

docker pull mysql:8.0.16

这里直接拉取最新版MySQL

%小知识:Docker安装配置MySQL的实现步骤-1猿站网-插图

查看镜像

docker images

%小知识:Docker安装配置MySQL的实现步骤-2猿站网-插图

创建并启动MySQL容器

创建数据目录和配置文件

提前在宿主机创建好放置mysql的配置文件的目录和数据目录,并且进行授予权限,避免挂载外部配置和数据时启动失败:

%小知识:Docker安装配置MySQL的实现步骤-3猿站网-插图

创建放置mysql的配置文件的目录和数据目录

mkdir -p /mydata/mysql/

设置文件夹权限

chmod -R 755 /mydata/mysql

第一个数字表示文件所有者的权限 第二个数字表示与文件所有者同属一个用户组的其他用户的权限 第三个数字表示其它用户组的权限。

权限分为三种:读(r=4),写(w=2),执行(x=1) 。

综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。 所以,chmod

755 设置用户的权限为:

1.文件所有者可读可写可执行 –7

2.与文件所有者同属一个用户组的其他用户可读可执行 –5

3.其它用户组可读可执行

创建my.cnf配置文件

mkdir -p /mydata/mysql/conf touch /mydata/mysql/conf/my.cnf

编辑my.cnf配置文件

vi /mydata/mysql/conf/my.cnf

添加以下配置内容

[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect=”SET collation_connection = utf8_unicode_ci” init_connect=”SET NAMES utf8″ character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve secure_file_priv=/var/lib/mysql

提醒

无论你是否使用我的配置,如果你的安装的是新版MySQL,务必要复制这一句:

secure_file_priv=/var/lib/mysql

第一次创建启动MySQL容器的时候,MySQL会访问/var/lib/mysql文件夹,如果没有权限就会导致无法启动,使用docker ps之后看不到mysql容器在运行,需要设置secure_file_priv的值指定为/var/lib/mysql,这样就有权限正常访问和读写/var/lib/mysql目录

Failed to access directory for –secure-file-priv. Please make sure that directory exists and is accessible by MySQL Server. Suppliedvalue : /var/lib/mysql-files

译文:无法访问–secure-file-priv的目录。请确保该目录存在并且可由MySQL服务器访问。提供的值:/var/lib/mysql文件 secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出 secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下 secure_file_priv的值为空,表示不对mysqld 的导入|导出做限制

创建并启动MySQL容器命令

sudo docker run -p 3306:3306 –name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

参数说明:

-p 3306:3306:将容器的3306端口映射到主机的3306端口 –name mysql:定义容器名称为mysql -v /mydata/mysql/log:/var/log/mysql :将MySQL的日志文件夹挂载到主机 -v /mydata/mysql/data:/var/lib/mysql:将MySQL的数据文件夹挂载到主机 -v /mydata/mysql/conf:/etc/mysql:将MySQL的配置文件夹挂载到主机 -e MYSQL_ROOT_PASSWORD=root:初始化root用户密码 -d mysql:latest:选择MySQL版本为latest的镜像构建容器

%小知识:Docker安装配置MySQL的实现步骤-4猿站网-插图

查看正在运行的容器

docker ps

%小知识:Docker安装配置MySQL的实现步骤-5猿站网-插图

进入到MySQL容器内部进行配置

进入命令

docker exec -it 容器id ./bin/bash

%小知识:Docker安装配置MySQL的实现步骤-6猿站网-插图

连接MySQL

这里因为我们自己设置的MySQL默认密码为root所以p后面为root

mysql -uroot -proot

%小知识:Docker安装配置MySQL的实现步骤-7猿站网-插图

更改MySQL密码

使用mysql库

use mysql

修改访问主机以及密码等,设置为所有主机可访问

ALTER USER “root”@”%” IDENTIFIED WITH mysql_native_password BY “root”;

注意:mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接

测试连接

测试前请保证关闭了防火墙,如果是云服务器记得开放3306规则

Linux关闭防火墙

# 关闭 systemctl stop firewalld # 禁止开机启动防火墙 systemctl disable firewalld

云服务开放3306端口

%小知识:Docker安装配置MySQL的实现步骤-8猿站网-插图

使用Navicat测试连接

%小知识:Docker安装配置MySQL的实现步骤-9猿站网-插图

使用SQLyog测试连接

%小知识:Docker安装配置MySQL的实现步骤-10猿站网-插图

Docker安装和配置MySQL教程结束!

以上就是Docker安装配置MySQL的实现步骤的详细内容,更多关于Docker 安装MySQL的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/qq_31762741/article/details/121465465

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:centos7.9安装zabbix5.0.14及配置过程

2023-3-13 21:06:49

建站知识

小知识:Docker安装配置RabbitMQ的实现步骤

2023-3-13 21:21:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索