网站建设的基本因素是什么,注册公司邮箱,软件开发文档的基本格式,网站优化包括哪些内容MySQL 主从配置 Author:xushuyi 参照技术#xff1a;http://www.cnblogs.com/kevingrace/p/6256603.html 1. 主从数据库 1、主库#xff1a;192.168.56.100 2、从库#xff1a;192.168.56.102 3、创建主从数据库一定要保证主从数据库字符集编码的一致性#xff0c;否则主从…MySQL 主从配置 Author:xushuyi 参照技术http://www.cnblogs.com/kevingrace/p/6256603.html 1. 主从数据库 1、主库192.168.56.100 2、从库192.168.56.102 3、创建主从数据库一定要保证主从数据库字符集编码的一致性否则主从同步数据会发生异常。 因主从数据字符集编码不一致常见的问题如下: 1. Column 1 of table xxx cannot be converted from type varchar(33) to type varchar(11) 解决方案http://www.cnblogs.com/wzbz/p/6825761.html 2. 一定要调整主从数据库字符集编码一致性 4、创建表时一定要加上字符集编码 utf8 设置避免主从数据同步异常问题其实遇到问题类同 3 1、修改数据表字符集ALTER TABLE transfervouchers CONVERT TO CHARACTER SET utf8; 2、创建表 设置字符集 create table jpgxhealthvalrecordhistory
(ID bigint not null auto_increment comment 主键ID,activityid bigint comment 活动ID,userid bigint comment 用户ID,activitylotteryid bigint comment 活动抽奖ID,activityawardid bigint comment 活动奖品ID,contributehealthvalue bigint comment 已贡献健康值,createtime timestamp comment 创建时间,modifytime timestamp comment 修改时间,primary key (ID)
)CHARACTER SET utf8;
alter table jpgxhealthvalrecordhistory comment 奖品贡献健康值历史记录表; 4、主库一旦重启主库对应二进制文件发生改变从库需要重新指向主库新的二进制文件 master_host192.168.56.100,master_userslave,master_passwordSinoslave12345, master_log_filemysql-bin.000002,master_log_pos400; 2.主库配置 #vi /etc/my.cnf [mysqld] log-binmysql-bin //[必须]启用二进制日志 server-id1100 //[必须]服务器唯一ID默认是1一般取IP最后一段 binlog-do-dbimove //需要同步的数据库。如果是多个同步库就以此格式另写几行即可。如果不指明对某个具体库同步就去掉此行表示同步所有库除了ignore忽略的库 binlog-ignore-dbsys //#不同步mysql系统数据库。如果是多个不同步库就以此格式另写几行也可以在一行中间逗号隔开 登录主库MySQL #cd /usr/local/mysql #./bin/mysql -u root -p mysql create user slave identified by Sinoslave12345; mysql grant all on *.* to slave192.168.56.102 identified by Sinoslave12345; mysql exit; 重启主库MySQL #/etc/init.d/mysql restart; #show master status; 3.从库配置 vi /etc/my.cnf log-binmysql-bin //[必须]启用二进制日志 server-id102 //[必须]服务器唯一ID默认是1一般取IP最后一段 replicate-do-dbimove //需要同步的数据库名。如果不指明同步哪些库就去掉这行表示所有库的同步除了ignore忽略的库 replicate-ignore-dbsys //不同步mysql系统数据库 slave-skip-errorsall //跳过所有的错误错误继续执行复制操作 这个配置最好不要加上遇到问题就要解决问题不能直接跳过 重启主库MySQL #/etc/init.d/mysql restart; 之后进入从库MySQL 修改master配置 登录主库MySQL #cd /usr/local/mysql #./bin/mysql -u root -p mysql change master to master_host192.168.56.100,master_userslave,master_passwordSinoslave12345, master_log_filemysql-bin.000002,master_log_pos400; 查看从库master是否配置成功 mysql show slave status\G; ------------------------------可能使用的命令在更改 master 的时候------------ STOP SLAVE IO_THREAD FOR CHANNEL ; START SLAVE IO_THREAD FOR CHANNEL ; 上图可以看到: Slave_IO_running: NO Salve_SQL_Running: NO 需要对slave mysql 进行设置 先关闭slave mysql stop slave 之后进行设置 mysql set global sql_slave_skip_counter 1 ; 之后再开启 mysql start slave mysql show slave status\G OK. 异常情况 这个异常情况说明从库同步主库二进制文件的位置不正确。 解决http://www.linuxidc.com/Linux/2012-02/54729.htm 将binlog二进制文件转换为txt文件 说明从库同步主库的二进制文件应该从 123 行开始。 登录从库MySQL mysql stop slave; mysql change master to master_log_filemysql-bin.000002,master_log_pos123; mysql start slave; mysql show slave status\G; 4.验证主从同步 之后登录 master mysql, 进行如下操作 create database hi_db; use hi_db; create table hi_tb(id int(3),name char(10)); insert into hi_tb values(001,bobu); show databases; 之后登录slave mysql show databases; 可以看到 转载于:https://www.cnblogs.com/xushuyi/articles/7699024.html