网站建设 域名 数据库,怎么做网站源代码,成都比较有名的设计公司,一家只做特卖的网站1、节点以及网络配置
前置条件#xff1a; 已经在linux上安装好了一主一从或者一主多从的mysql
2、具体配置
主服务器 172.20.0.2 从服务器 172.20.0.3
首先主机mysql配置#xff1a; 打开mysqld.cnf#xff1a; 添加如下配置#xff1a;
# 主服务器ID 必须唯一
serve…1、节点以及网络配置
前置条件 已经在linux上安装好了一主一从或者一主多从的mysql
2、具体配置
主服务器 172.20.0.2 从服务器 172.20.0.3
首先主机mysql配置 打开mysqld.cnf 添加如下配置
# 主服务器ID 必须唯一
server-id2# 开启及设置二进制日志文件名称
log_binmysql-bin# 要同步的数据库
binlog-do-db db_java1234# 不需要同步的数据库
binlog-ignore-dbmysql
binlog_ignore_dbinformation_schema
binlog_ignore_dbperformation_schema
binlog_ignore_dbsys# 设置logbin格式
binlog_format MIXED # binlog日志格式mysql默认采用statement建议使用mixed从服务器打开mysqld.cnf
server-id3
relay-logmysql-relay在主服务器执行如下语句需要单独创建一个用户及授权给从节点使用用来同步数据。
依次执行如下语句
CREATE USER slave1172.20.0.3 IDENTIFIED BY 123456;
GRANT REPLICATION SLAVE ON *.* TO slave1172.20.0.3;
FLUSH PRIVILEGES;查看主服务器状态
SHOW MASTER STATUS4. 从机创建连接主服务器的IP用户密码以及日志文件和位置
CHANGE MASTER TO MASTER_HOST172.20.0.2, MASTER_USERslave1, MASTER_PASSWORD123456, MASTER_LOG_FILEmysql-bin.000001, MASTER_LOG_POS154;启动主从复制
START SLAVE;查看从机状态
SHOW SLAVE STATUS有两个yes才OK 假如有 No 或者 Connecting请看下方日志 或者找到Mysql日志文件查看具体问题
3、binlog_format详解
mysql复制主要有三种方式
1.基于SQL语句的复制(statement-based replication, SBR)
2.基于行的复制(row-based replication, RBR)
3.混合模式复制(mixed-based replication, MBR)对应的binlog的格式也有三种STATEMENTROWMIXED。 STATEMENT模式SBR 每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化减少了binlog日志量节约IO提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数 last_insert_id()以及user-defined functions(udf)等会出现问题)。 ROW模式RBR 不记录每条sql语句的上下文信息仅需记录哪条数据被修改了修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志尤其是alter table的时候会让日志暴涨。 MIXED模式MBR 以上两种模式的混合使用一般的复制使用STATEMENT模式保存binlog对于STATEMENT模式无法复制的操作使用ROW模式保存binlogMySQL会根据执行的SQL语句选择日志保存方式。