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

网站建设公司的公司排名室内装修设计书籍

网站建设公司的公司排名,室内装修设计书籍,建站做网站哪家好,wordpress修改标题链接目录 1.概述 2.工作原理 3.综合案例 3.1前期准备 3.2主库配置 3.3从库配置 3.4常见问题 3.4.1主从同步出现一下错误:Slave_IO_Running: No 3.4.1主从同步出现一下错误:Slave_IO_Running: Connecting? 3.5数据测试 1.概述 MySQL的主从复制&am…

目录

1.概述

2.工作原理

3.综合案例

3.1前期准备

3.2主库配置

3.3从库配置

3.4常见问题

3.4.1主从同步出现一下错误:Slave_IO_Running: No

3.4.1主从同步出现一下错误:Slave_IO_Running: Connecting?

3.5数据测试


1.概述

MySQL的主从复制(Master-Slave Replication)是一种数据复制解决方案,将主数据库的DDLDML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而是的从库和主库的数据保存同步。

MySQL支持将数据从一个MySQL服务器(主服务器)复制到一个或多个其他MySQL服务器(从服务器),从库同时也可以作为其他从服务器的主库,实现链状复制。

MySQL主从复制的优点主要包含以下三个方面:

  • 主库出现问题,可以快速切换到从库提供服务;

  • 实现读写分离,降低主库的访问压力;

  • 可以在从库中执行备份,以避免备份期间影响主库服务;

需要注意的是,MySQL的主从复制是异步的,这意味着从服务器的数据可能会与主服务器的数据存在一定的延迟。因此,在使用主从复制时,需要根据具体的业务场景和需求来选择合适的配置和策略。

2.工作原理

从上图来看,主从复制分成三步:

  1. Master主库在事务提交时,会把数据变更记录在二进制日志文件Binlog中;

  2. 从库读取主库的二进制日志文件Binlog,写入到从库的中继日志Relay Log

  3. Slave重做中继日志中的事件,将改变数据更新同步到从库中;

简单说就是Master主库上执行的增删改的SQL语句同步到对应的Slave从库上,然后再在Slave从库中同样再次执行一遍SQL语句以作备份。

3.综合案例

3.1前期准备

准备两台虚拟机,需要提前安装好MySQL数据库(必须要开启二进制日志)。如下所示:

主从库

IP地址

主库

192.168.233.137

从库

192.168.233.138

注意:以上只是示例说明,具体以自己的虚拟机情况为主。

3.2主库配置

1)修改主库服务器的MySQL核心配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,并添加如下配置信息:

[mysqld]
...
# 开启二进制日志(必须)
log-bin = mysql-bin
# MySQL服务ID,保证整个集群环境中唯一,默认为1(必须)
server-id = 1
# 二进制日志格式,默认ROW(可选)
binlog_format = ROW
# 忽略的数据,不需要同步的数据库
# binlog-ignore-db = mysql
# 指定同步的数据库
# binlog-do-db = db01

注意:这里binlog-ignore-dbbinlog-do-db配置项没有指定,默认同步所有数据库信息。

2)重启MySQL服务器。

systemctl restart mysql

3)登录MySQL数据库,创建远程连接的账号,并授予主从复制权限。

# 创建zking用户,并设置密码,该用户可在任意主机连接该MySQL服务
create user 'zmsaw'@'%' identified with mysql_native_password by 'zmsaw1234';
# 为'zking'@'%'用户分配主从复制权限
grant replication slave on *.* to 'zking'@'%';

4)通过指令,查看二进制日志坐标

show master status;

字段含义说明:

字段

说明

File

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

Position

当前正在写入的二进制日志文件的位置

Binlog_Do_DB

指定需要写入二进制日志的数据库名

Binlog_Ignore_DB

指令不需要写入二进制日志的数据库名

3.3从库配置

1)修改从库服务器的MySQL核心配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,并添加如下配置信息:

[mysqld]
...
# 开启二进制日志(必须)
log-bin = mysql-bin
# MySQL服务ID,保证整个集群环境中唯一,默认为1(必须)
server-id = 2
# 二进制日志格式,默认ROW(可选)
binlog_format = ROW
# 是否只读,1代表只读,0代表读写
read-only = 1

2)重启MySQL服务器。

systemctl restart mysql

3)登录MySQL数据库,设置主库配置。

  • MySQL8.0.23之前的版本,执行如下SQL语句:

    change master to master_host=‘xxx.xxx.xxx.xxx’,master_user=‘xxx’,master_password=‘xxx’,master_log_file=‘xxx’,master_log_pos=xxx;

记得自行修改!!

  • MySQL8.0.23之后的版本,执行如下SQL语句:

    change replication source to source_host=‘xxx.xxx.xxx.xxx’,source_user=‘xxx’,source_password=‘xxx’,source_log_file=‘xxx’,source_log_pos=xxx;

记得自行修改 !!

参数说明:

参数名

含义

8.0.23之前

source_host

主库IP地址

master_host

source_user

连接主库的用户名

master_user

source_password

连接主库的密码

master_password

source_log_file

binlog日志文件名

master_log_file

source_log_pos

binlong日志文件位置

master_log_pos

4)开启同步操作

# 8.0.22之后
start replica; 
# 8.0.22之前
start slave;

5)查看主从同步状态

# 8.0.22之后
show replica statusG; 
# 8.0.22之前
show slave statusG;

上述图中显示Slave_IO_Running: No,很明显主从复制开启失败。经过问题分析之后,发现是虚拟机是克隆的,导致主库和从库的MySQLserver id都是一样的。解决方案:修改任意主库和从库的server id即可解决问题。

修改/var/lib/mysql/auto.cnf文件。将server-uuid属性修改为唯一值即可。

[auto]
server-uuid = 任意uuid

修改完毕保存并退出,最后重启MySQL服务后,并再次登录MySQL查看主从复制是否成功。

3.4常见问题

3.4.1主从同步出现一下错误:Slave_IO_Running: No

主要原因是由于从机的虚拟机是克隆的主机的虚拟机,因此会出现主机和从机的UUID相同,Slave_IO_Running的状态为No

也可以通过vim /var/log/mysql/error.log找到发生错误的原因

生成一个新的UUID,修改从机的UUID

select uuid();

打开cd /var/lib/mysqlm目录里面的auto.cnf文件修改从机的UUID保存后重启,就可以解决该问题

3.4.1主从同步出现一下错误:Slave_IO_Running: Connecting

#去主库新建一个二进制文件
flush logs;#去从库停止stop slave;#重新授权,记得修改新的二进制文件名和二进制文件位置change master to master_host=‘xxxxx’,master_port=xx,master_user=‘xxx’,master_password=‘xxx’,master_log_file=‘mysql-bin.000001’,master_log_pos=858#启动start slave;#再次查看show slave status;?

3.5数据测试

1)登录主库MySQL,并执行以下SQL语句:

# 切换数据库
use db1;
# 创建数据表t_student
create table t_student(sid int primary key auto_increment,sname varchar(20) not null,sage int default 0,ssex varchar(2) default '1');
# 批量添加数据
insert into t_student(sname,sage,ssex) values('张三',26,'男'),('王五',22,'女'),('小七',23,'女');

2)登录从库MySQL,查看主从复制结果:

# 切换数据库
use db1;
# 查看是否存在t_student表
show tables;
# 查看t_student表中是否存在数据
select * from t_student;

存在数据即MySQL主从复制同步成功。


文章转载自:

http://977oTpuq.Lbbyx.cn
http://3nqQYaqw.Lbbyx.cn
http://yCzHxjAD.Lbbyx.cn
http://kUvEzWQi.Lbbyx.cn
http://hnM2CVLT.Lbbyx.cn
http://eM4pADSc.Lbbyx.cn
http://u6pwVUBP.Lbbyx.cn
http://x8IOWATd.Lbbyx.cn
http://AHONxksJ.Lbbyx.cn
http://2C0jPYjt.Lbbyx.cn
http://qLLKELAN.Lbbyx.cn
http://ko3bsM9m.Lbbyx.cn
http://451a49Yr.Lbbyx.cn
http://VNAjXS2e.Lbbyx.cn
http://DIwi4aTl.Lbbyx.cn
http://PrP5HWhl.Lbbyx.cn
http://iKNMFp74.Lbbyx.cn
http://S7U3JJBq.Lbbyx.cn
http://GwgsfEjj.Lbbyx.cn
http://vuDYeMcY.Lbbyx.cn
http://J0EGQ28N.Lbbyx.cn
http://cRwc5074.Lbbyx.cn
http://mHiNRl72.Lbbyx.cn
http://3Vb1mP9S.Lbbyx.cn
http://TyLAuZ71.Lbbyx.cn
http://2uFHNirX.Lbbyx.cn
http://FRaOcPEd.Lbbyx.cn
http://TIQh4mfv.Lbbyx.cn
http://T4AjxmMm.Lbbyx.cn
http://xpxpiC1d.Lbbyx.cn
http://www.dtcms.com/wzjs/655808.html

相关文章:

  • 网站 用户登陆 模板做网站被骗了怎么办
  • 教育培训网站制作特价网站源码
  • 医疗网站建设哪家好商城网站开发项目文档
  • 怎样设置网站怎样用代码制作网站
  • 网络管理员需要懂网站建设吗网站标题title怎么写
  • 乔拓云智能建站免费注册郑州最好的建站公司
  • 江苏专业网站建设费用佛山网站建设公司怎么做
  • 国外试用网站空间微信小程序毕业设计
  • 长春市城乡建设局网站网页制作与设计在哪搜题
  • 网站多久被百度收录怎么做英文网站
  • 扬州建网站做网站的如何找业务
  • 电信ip做的网站移动不能访问做网页用什么软件好
  • 小程序网站wordpress搜索频率
  • 建设项目环保备案登记网站重庆网站开发解决方案
  • dedecms做门户网站零基础怎么做电商
  • 做网站技术员电商数据分析与数据化运营
  • 无锡快速建设网站方法设备 光速东莞网站建设
  • 网站 标题 关键词 描述抖音电商官网
  • 网站制作 手机微信saas平台
  • 无忧网站自适应网站方案
  • 营销型网站建设设定包括哪些方面谷歌play商店
  • 京东网站难做吗百度指数排行榜
  • html网站优化宁波建设业协会网站
  • 济南网站建设模板沧州网站建设推广
  • 做网站对企业有什么好处临清网站建设费用
  • 宁波网站制作费用网站 图标 素材
  • 怎么看一个网站是用什么程序做的wordpress 移动端插件
  • 一个完整的网站制作流程学校部门网站的建设
  • 做百度推广需要有自己的网站吗什么是前端开发技术
  • 怎么做挣钱的网站wordpress notes