当前位置: 首页 > news >正文

宁波网站优化体验代发关键词排名包收录

宁波网站优化体验,代发关键词排名包收录,东莞建工集团企业网站,省厅建设信息网网站目录 一、简单安装 1. 首先从Docker Hub中拉取镜像 2. 启动尝试创建MySQL容器,并设置挂载卷。 3. 查看mysql8这个容器是否启动成功 4. 如果已经成功启动,进入容器中简单测试 4.1 进入容器 4.2 登录mysql中 4.3 进行简单添加查找测试 二、主从复…

目录

一、简单安装

1. 首先从Docker Hub中拉取镜像

2. 启动尝试创建MySQL容器,并设置挂载卷。

3. 查看mysql8这个容器是否启动成功

4. 如果已经成功启动,进入容器中简单测试

4.1 进入容器

4.2 登录mysql中 

4.3 进行简单添加查找测试

二、主从复制安装

2.1 主服务创建配置

1. 主从服务容器创建,并且配置

2. 创建配置文件并设置参数

3. 重启容器使得配置生效

4. 进入容器内,进行主服务中进行设置

4.1 进入容器

4.2 创建数据同步用户,并给同步用户授权

4.3 查看所有用户的权限

4.4 查看MySQL主服务器的当前状态,包括二进制日志文件和位置

2.2 从服务创建配置

1. 从服务容器创建,并且配置

2. 创建配置文件并设置参数

3. 重启容器使得配置生效

4. 进入容器内,进行从服务中进行设置

4.1 进入容器

4.2 配置从服务器,指定主服务器

4.3 启动 MySQL 主从复制

4.4 查看 MySQL 主从复制状态

2.3 安装中的遇到的问题

2.4 配置完成,进行简单测试

1. 在主服务器中创建并添加数据

2. 在从服务器中查询数据,是否同步

3. 测试结果


一、简单安装

1. 首先从Docker Hub中拉取镜像

这里我要安装的是mysql8版本。

docker pull mysql:8.0.27

2. 启动尝试创建MySQL容器,并设置挂载卷。

docker run -p 3306:3306 \--name mysql8 \--privileged=true \-v /app/mysql8/log:/var/log/mysql \-v /app/mysql8/data:/var/lib/mysql \-v /app/mysql8/conf:/etc/mysql/conf.d \-v /app/mysql8/files:/var/lib/mysql-files \-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:8.0.27
  • --name mysql8: 为容器指定一个名称,这里是 mysql8
  • --privileged=true: 赋予容器更多的权限。在一般情况下,尽量避免使用 --privileged,因为它会赋予容器更多的权限,可能会带来一些安全风险。
  • -v /app/mysql8/log:/var/log/mysql: 将主机上的 /app/mysql8/log 目录映射到容器内的 /var/log/mysql,用于存储MySQL的日志文件。
  • -v /app/mysql8/data:/var/lib/mysql: 将主机上的 /app/mysql8/data 目录映射到容器内的 /var/lib/mysql,用于持久化存储MySQL的数据。
  • -v /app/mysql8/conf:/etc/mysql/conf.d: 将主机上的 /app/mysql8/conf 目录映射到容器内的 /etc/mysql/conf.d,用于提供自定义的MySQL配置文件。
  • -v /app/mysql8/files:/var/lib/mysql-files: 将主机上的 /app/mysql8/files 目录映射到容器内的 /var/lib/mysql-files,用于存储MySQL的文件。
  • -e MYSQL_ROOT_PASSWORD=123456: 设置MySQL root用户的密码为 123456
  • -d: 后台运行容器。

3. 查看mysql8这个容器是否启动成功

docker ps

4. 如果已经成功启动,进入容器中简单测试

4.1 进入容器

docker exec -it mysql8 /bin/bash

4.2 登录mysql中 

mysql -uroot -p123456

4.3 进行简单添加查找测试

CREATE DATABASE mydatabase;USE mydatabase;CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL
);INSERT INTO users (username, email) VALUES
('john_doe', 'john@example.com'),
('jane_smith', 'jane@example.com'),
('bob_jones', 'bob@example.com');SELECT * FROM users; 

二、主从复制安装

2.1 主服务创建配置

1. 主从服务容器创建,并且配置

ps:这里也默认使用mysql8版本进行安装。

docker run -p 3307:3306 \--name mysql-master \--privileged=true \-v /app/mysql-master/log:/var/log/mysql \-v /app/mysql-master/data:/var/lib/mysql \-v /app/mysql-master/conf:/etc/mysql/conf.d \-v /app/mysql-master/files:/var/lib/mysql-files \-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:8.0.27
  • docker run: 启动一个新的Docker容器。
  • -p 3307:3306: 将主机的3307端口映射到容器的3306端口,这样可以通过主机的3307端口访问MySQL服务。
  • --name mysql-master: 为容器指定一个名称,这里是 mysql-master
  • --privileged=true: 赋予容器更高的权限。注意,一般情况下最好避免使用 --privileged,因为它可能会引入一些潜在的安全风险。
  • -v /app/mysql-master/log:/var/log/mysql: 将主机上的 /app/mysql-master/log 目录映射到容器内的 /var/log/mysql,用于存储MySQL的日志文件。
  • -v /app/mysql-master/data:/var/lib/mysql: 将主机上的 /app/mysql-master/data 目录映射到容器内的 /var/lib/mysql,用于持久化存储MySQL的数据。
  • -v /app/mysql-master/conf:/etc/mysql/conf.d: 将主机上的 /app/mysql-master/conf 目录映射到容器内的 /etc/mysql/conf.d,用于提供自定义的MySQL配置文件。
  • -v /app/mysql-master/files:/var/lib/mysql-files: 将主机上的 /app/mysql-master/files 目录映射到容器内的 /var/lib/mysql-files,用于存储MySQL的文件。
  • -e MYSQL_ROOT_PASSWORD=123456: 设置MySQL root用户的密码为 123456
  • -d: 以后台模式运行容器。
  • mysql:8.0.27: 使用的MySQL镜像的标签,这里是MySQL 8.0.27版本

2. 创建配置文件并设置参数

vim /app/mysql-master/conf/my.cnf
[mysqld]
## 设置server_id, 同一个局域网中需要唯一
server_id=1001
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

ps:在编写配置的时候,参数后不要留有空格,避免不必要的错误!!!

3. 重启容器使得配置生效

docker restart mysql-master

4. 进入容器内,进行主服务中进行设置

4.1 进入容器
docker exec -it mysql-master /bin/bash
mysql -uroot -p123456
4.2 创建数据同步用户,并给同步用户授权
create user 'slave'@'%' identified by '123456';
grant replication slave, replication client on *.* to 'slave'@'%';
flush privileges;
4.3 查看所有用户的权限
SELECT user, host, authentication_string, Grant_priv, Super_priv, Create_priv, Insert_priv, Update_priv, Delete_priv, Select_priv FROM mysql.user;

 得到这样得结果

4.4 查看MySQL主服务器的当前状态,包括二进制日志文件和位置
show master status;

参数说明:

File(文件)

表示当前正在写入的二进制日志文件的名称

Position(位置)

表示在二进制日志文件中的当前写入位置

Binlog_Do_DB

一个逗号分隔的数据库列表,表示正在复制的二进制日志事件应用于哪些数据库

Binlog_Ignore_DB

一个逗号分隔的数据库列表,表示正在复制的二进制日志事件不应用于哪些数据库

Executed_Gtid_Set

表示已经执行的 GTID(全局事务标识符)集合。在MySQL的 GTID 复制中

 

2.2 从服务创建配置

1. 从服务容器创建,并且配置

docker run -p 3308:3306 \--name mysql-slave \--privileged=true \-v /app/mysql-slave/log:/var/log/mysql \-v /app/mysql-slave/data:/var/lib/mysql \-v /app/mysql-slave/conf:/etc/mysql/conf.d \-v /app/mysql-master/files:/var/lib/mysql-files \-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:8.0.27

2. 创建配置文件并设置参数

vim /app/mysql-slave/conf/my.cnf
[mysqld]
## 设置server_id, 同一个局域网内需要唯一
server_id=1002
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能,以备slave作为其它数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断
## 如:1062错误是指一些主键重复,1032是因为主从数据库数据不一致
slave_skip_errors=1062
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置只读(具有super权限的用户除外)
read_only=1

ps:在编写配置的时候,参数后不要留有空格,避免不必要的错误!!!

3. 重启容器使得配置生效

docker restart mysql-slave

4. 进入容器内,进行从服务中进行设置

4.1 进入容器
docker exec -it mysql-slave /bin/bash
mysql -uroot -p123456
4.2 配置从服务器,指定主服务器

我这里使用的是 CentOS7,查看服务器地址

ifconfig

CHANGE MASTER TOMASTER_HOST = '192.168.153.133',       -- 主服务器的 IP 地址MASTER_USER = 'slave',                  -- 用于连接主服务器的用户名MASTER_PASSWORD = '123456',             -- 用于连接主服务器的密码MASTER_PORT = 3307,                     -- 主服务器的端口号MASTER_LOG_FILE = 'binlog.000011',      -- 主服务器的二进制日志文件MASTER_LOG_POS = 1193,                  -- 主服务器的二进制日志位置MASTER_CONNECT_RETRY = 30,              -- 如果连接失败,重试的时间间隔(秒)GET_MASTER_PUBLIC_KEY = 1;              -- 启用 SSL 模式,1 表示启用
4.3 启动 MySQL 主从复制
start slave;
 4.4 查看 MySQL 主从复制状态
# \G 可以将横向的结果集表格转换成纵向展示。
# slave status的字段比较多,纵向展示比友好
show slave status \G;

主要查看 Slave_IO_Running 和 Slave_SQL_Running是否为 Yes 状态。

ps:如果在安装中遇到问题可以查看下面这篇文章  ↓↓↓ ↓↓↓ 

2.3 安装中的遇到的问题

如果在安装过程中遇到问题,可以查看这篇文章,这是我遇到的一些问题和解决方案。

Docker中安装MySql的遇到的问题icon-default.png?t=N7T8http://t.csdnimg.cn/ujsL1

2.4 配置完成,进行简单测试

1. 在主服务器中创建并添加数据

CREATE DATABASE IF NOT EXISTS mydatabase;USE mydatabase;CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL
);INSERT INTO users (username, email) VALUES('alice_white', 'alice@example.com'),('charlie_brown', 'charlie@example.com'),('emma_jones', 'emma@example.com');select * from users;

2. 在从服务器中查询数据,是否同步

show databases;use mydatabase;select * from users;

3. 测试结果

主从服务器数据同步 

http://www.hkea.cn/news/255296/

相关文章:

  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理
  • 凤岗网站仿做靠谱seo外包定制
  • xampp安装wordpress说明徐州seo外包
  • 啥网站都能看的浏览器下载百度收录查询工具
  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件