mysql主从和mysql主主和半同步复制
建站服务器
一、准备(主从都需要配置): yum-yinstallmysqlMysql-server #安装MYSQL yum-yinstallntpdate #安装时间同步 echo\'*/1****/usr/sbin/ntpdatentp1.aliyun.com&>/dev/null\'>>/var/spool/cron/root #配置网络时间同步 servicemysqldstart #启动服务 chkconfig--addmysqld #添加为系统服务 chkconfigmysqldon #开启默认运行级别 二、主服务器配置:主配置文件默认为:/etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 log-bin=master-bin #开启二进制日志文件 server-id=1 #设置服务器id,保证全局唯一 sync-binlog=1#全局唯一的server-id innodb-flush-logs-at-trx-commit=1 innodb-support-xa=1 servicemysqldrestart #重启动服务 mysql>showglobalvariableslike\'%server%\';#数据库id mysql>showmasterlogs;#查看数据库二进制日志 mysql>showmasterstatus;#查看主服务器状态,记住二进制日志名,配置从服务器会用 mysql>grantreplicationslave,replicationclienton*.*to\'copy\'@\'192.168.0.50\'identifiedby\'123.com\'; #授权192.168.0.50主机上的copy用户对所有库有复制权限 mysql>selectHost,User,Passwordfrommysql.user; #查看用户 三、从服务器配置: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 relay-log=slave-log #启用中继日志 server-id=10 #服务器id,全局唯一 read-only=1 #将服务器设置为只读模式(对拥有root权限的用户无效) servicemysqldrestart #重启动服务 mysql>changemastertomaster_host=\'192.168.0.10\',master_user=\'copy\', master_password=\'123.com\',master_log_file=\'master-bin.000001\',master_log_pos=590; master_host#主服务器地址 master_user#拥有复制权限的用户 master_password#密码 master_log_file#从哪个二进制日志开始复制 master_log_pos#从二进制日志的什么位置开始复制 mysql>startslave; #开启从服务器 mysql>showslavestatus\\G; #查看从服务器状态 四、验证主从: 主服务器: mysql>createdatabasedb_test; #创建数据库 从服务器: mysql>showdatabases; #查看服务器是否同步 五、主主复制 服务器A: [mysqld] #添加内容 log-bin=master-bin #启用二进制日志 relay-log=slave-log #启用中继日志 server-id=1 #服务器id,全局唯一 auto-increment-offset=1 #自增列起始 auto-increment-increment=2 #自增列一次步进(例:1,3,5,7,9...) mysql>grantreplicationslave,replicationclienton*.*to\'copy\'@\'192.168.0.50\'identifiedby\'123.com\'; mysql>changemastertomaster_host=\'192.168.0.50\',master_user=\'copy\', master_password=\'123.com\',master_log_file=\'master-bin.000001\',master_log_pos=106; mysql>startslave; mysql>showslavestatus\\G; 服务器B: [mysqld] #添加内容 log-bin=master-bin relay-log=slave-log server-id=10 auto-increment-offset=2 #自增列起始 auto-increment-increment=2 #自增列一次步进(例:2,4,6,8,10...) mysql>grantreplicationslave,replicationclienton*.*to\'copy\'@\'192.168.0.10\'identifiedby\'123.com\'; mysql>changemastertomaster_host=\'192.168.0.10\',master_user=\'copy\', master_password=\'123.com\',master_log_file=\'master-bin.000003\',master_log_pos=106; mysql>startslave; mysql>showslavestatus\\G; 六、半同步复制 要想使用半同步复制,必须满足以下几个条件: 1.MySQL5.5及以上版本 2.变量have_dynamic_loading为YES 3.异步复制已经存在 主: mysql>INSTALLPLUGINrpl_semi_sync_masterSONAME\'semisync_master.so\'; #安装插件 mysql>showplugins; #查看插件是否安装成功 mysql>SETGLOBALrpl_semi_sync_master_enabled=1; #启用半同步 mysql>showstatuslike\'Rpl_semi_sync_master_status\'; #查看是否在运行 从: mysql>INSTALLPLUGINrpl_semi_sync_slaveSONAME\'semisync_slave.so\'; #安装插件 mysql>showplugins; mysql>SETGLOBALrpl_semi_sync_slave_enabled=1; #启用半同步 mysql>STOPSLAVE #关闭复制线程 mysql>STARTSLAVE #开启复制线程 mysql>showstatuslike\'Rpl_semi_sync_slave_status\'; #查看是否在运行 mysql>showvariableslike\'%Rpl%\'; #查看和半同步相关的服务器变量 rpl_semi_sync_master_enabled #是否启用半同步 rpl_semi_sync_master_timeout #等待超时时间 rpl_semi_sync_master_wait_for_slave_count #需要等待多少个slave应答,才能返回给客户端 mysql>showstatuslike\'%Rpl_semi%\'; #半同步状态 Rpl_semi_sync_master_clients #当前半同步复制从的个数 七、和复制相关的文件 从节点: master.info:用于保存slave连接至master时的相关信息(账号,密码,服务器地址,复制的二进制文件等) relay-log.info:保存当前slave节点上已经复制到的二进制文件位置,和relay-log的位置成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的博湖网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
网页标题:mysql主从和mysql主主和半同步复制
文章出自:http://azwzsj.com/article/cgieog.html