关注

【10分钟轻松部署,通过Docker部署MySQL8.3.0数据库】

在这里插入图片描述


前言

Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。


一、Linux部署Docker

1.1 安装系统依赖

# 更新系统
sudo dnf update -y
# 安装Docker依赖
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2

1.2 添加Docker官方仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.3 安装Docker引擎

sudo dnf install docker-ce docker-ce-cli containerd.io -y
sudo systemctl start docker && sudo systemctl enable docker

1.4 配置用户权限

sudo usermod -aG docker $USER
newgrp docker  # 刷新用户组

1.5 配置daemon.json加速器

daemon.json文件中配置较多的地址,便于后期拉取更多镜像不报错。

#创建文件
mkdir -p /etc/docker

#创建docker加速器文件
vim /etc/docker/daemon.json

#复制配置内容
{
  "registry-mirrors": [
   "https://dockerpull.org",
    "https://docker.1panel.dev",
    "https://docker.foreverlink.love",
    "https://docker.fxxk.dedyn.io",
    "https://docker.xn--6oq72ry9d5zx.cn",
    "https://docker.zhai.cm",
    "https://docker.5z5f.com",
    "https://a.ussh.net",
    "https://docker.cloudlayer.icu",
    "https://hub.littlediary.cn",
    "https://hub.crdz.gq",
    "https://docker.unsee.tech",
    "https://docker.kejilion.pro",
    "https://registry.dockermirror.com",
    "https://hub.rat.dev",
    "https://dhub.kubesre.xyz",
    "https://docker.nastool.de",
    "https://docker.udayun.com",
    "https://docker.rainbond.cc",
    "https://hub.geekery.cn",
    "https://docker.1panelproxy.com",
    "https://atomhub.openatom.cn",
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.linkedbus.com"
  ]
}

#加载文件生效
systemctl daemon-reload
systemctl restart docker

1.6 查看Docker状态及版本

在这里插入图片描述

二、部署MySQL8.3.0数据库

2.1 查询数据库

代码如下(示例):

docker search mysql

2.2 拉取MySQL8.3.0镜像

代码如下(示例):

#拉取镜像
docker pull mysql8.3.0
#查看docker已拉取镜像
docker images

在这里插入图片描述

2.3 主机上创建日志、数据、配置文件夹

代码如下(示例):

mkdir -p /home/mysql/log
mkdir -p /home/mysql/data
mkdir -p /home/mysql/conf

在这里插入图片描述

2.4 创建配置文件my.cnf

vim /home/mysql/conf/my.cnf

按键盘 i键进行输入以下内容:

[client]
#设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#配置服务器的服务号,具备日后需要集群做准备
server-id = 1
#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满。2592000秒等于30天的秒数
binlog_expire_logs_seconds = 2592000
#解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#允许最大的连接数
max_connections=1000
# 禁用符号链接以防止各种安全风险
symbolic-links=0
# 设置东八区时区
default-time_zone = '+8:00'

按键盘esc键退出输入,输入:wq保存退出

2.5 运行MySQL8.3.0服务

-p:表示声明端口,宿主机与容器内端口一一对应;--restart=always:表示服务器开机自动启动服务;--name:表示声明服务的名称;--privileged=true:表示使container内的root拥有真正的root权限。-v:表示将宿主机的文件映射到容器内,分别映射日志文件、数据文件、配置文件;-e:表示配置root密码;-d:表示通过mysql8.0镜像运行服务。

代码如下(示例):

docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=Ya34ng0okm \
-d mysql:8.3.0 

2.6 查看mysql8.3.0服务

代码如下(示例):

#查看docker服务
docker ps -a
#启动某个服务
docker start 服务名称或id

在这里插入图片描述

三、MySQL8.3.0实战

3.1 进入数据库

代码如下(示例):

docker exec -it mysql /bin/bash

3.2 登录数据库并输入密码

代码如下(示例):

mysql -u root -p

在这里插入图片描述

3.3 创建一个账号-admin,用来进行远程访问;

代码如下(示例):

CREATE USER 'admin'@'%' IDENTIFIED BY '9ujjk9yh8tg';

3.4 赋予所有权限给之前创建的账号:admin

代码如下(示例):

GRANT ALL ON *.* TO 'admin'@'%';

3.5 配置用户密码为mysql_native_password 模式,即可远程连接:

代码如下(示例):

ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '9ujjk9yh8tg';

3.6 刷新权限

代码如下(示例):

FLUSH PRIVILEGES;

3.7 创建数据库以及表

代码如下(示例):

#创建数据库 mytest
create database mytest;

#切换到mytest数据库
use mytest;
 
#创建表结构sys_myfirst
create table sys_mytest (
	id int,
	name varchar(8),
	birth date,
	sex varchar(4)
);
 
#在sys_mytest中添加几条数据(建议在Navicat工具中操作)
INSERT INTO sys_mytest (id,name,birch,sex) VALUES (1,'乔峰','1990-01-01','男'),(2,'段誉','1990-12-21','男'),(3,'孙悟空','1990-05-20','男'),(4,'猪八戒','1990-08-06','男'),(5,'周芷若','1991-12-01','女'),(6,'步惊云','1992-03-01','女'),(7,'陈真','1989-07-01','女'),(8,'宁姚','1990-01-20','女');

 
#查看数据
select * from sys_myfirst;

#查看表结构
desc sys_mytest;

在这里插入图片描述

3.8 连接Navicat工具

在这里插入图片描述

3.9 点击“测试连接”是否成功

在这里插入图片描述

3.10 Navicat工具操作

在这里插入图片描述


转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/yygabcd/article/details/146523717

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--