前言
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