mysql 5.5主从复制配置
2014-04-28 21:38
585 查看
首先将主库现有的要实现主从的数据库原原本本地复制到从库上,目的是一开始就让主从同步,让binlog日志从最新的记录开始同步!
备份: 方法1:快捷导出所要的库如(库goods)
将mysql的库的源数据(在/usr/local/mysql/var/下)打包成一个goods.tar.gz的压缩文件,然后再拷到从库的mysql对应目录中解压,推荐使用这种方法。
方法2:导出所有库
系统命令行 mysqldump-uusername-ppassword--all-databases>test.sql 2导入所有库 mysql命令行 mysql>sourcetest.sql;
远程复制:将192.168.80.145上的test.sql拷到本机上 scp-P8880(默认为22,注意P是大写的)192.168.80.145:/tmp/test.sql/tmp/ 注意:要复制的文件可以是单个或批量文件或压缩包,但不能是文件夹。
1.主库编辑my.cnf: [mysqld] log-bin=NEW_NAME server-id=1#配一个唯一的ID编号。 #设置要进行或不要进行主从复制的数据库名,同时也要在Slave上设定。 #说明:试验证明主库的binlog-do-db及binlog-ignore-db配不配置都行,关键是配置从库的就行。 #添加以下配置:要同步的库 #binlog-do-db=数据库名1 #binlog-do-db=数据库名2 #要忽略的库 #binlog-ignore-db=数据库名1 #binlog-ignore-db=数据库名2 #注意:要同步的库及要忽略的库只配置其中一项,一般只配要同步的库 mysql>grantreplicationslaveon*.*toslaveuser@192.168.1.101identifiedby'123456'; mysql>flushprivileges; mysql>showmasterstatus; +------------------+----------+--------------+------------------+ |File|Position|Binlog_Do_DB|Binlog_Ignore_DB| +------------------+----------+--------------+------------------+ |mysql-bin.000008|337||| +------------------+----------+--------------+------------------+ 记录下二进制日志文件名和位置 2.从库编辑my.cnf 把server-id改成不和主机相同的数字。 如果只想同步指定的数据库,可以添加replicate-do-db=yourdatabase, 同步几个就复制几个,把数据库名改了就好。 [mysqld] server-id=2#唯一(建议使用ip的最后一位) #设置要进行或不要进行主从复制的数据库名,同时也要在Master上设定。 #添加以下配置: //主库的数据库地址及访问账户
master-host=192.168.1.100
master-user=slaveuser
master-password=123456 master-port=3306
要同步的库
replicate-do-db=数据库名1 replicate-do-db=数据库名2
跳过错误,防止主键冲突
slave-skip-errors=1062
#如果只同步某库中的表,就使用下面这项 replicate-wild-do-table=库名.表名
#要忽略的库
#replicate-ignore-db=数据库名1(可以不配置) #replicate-ignore-db=数据库名2(可以不配置) 注意:要同步的库及要忽略的库只配置其中一项,一般只配要同步的库
mysql>changemastertomaster_host='192.168.1.100',master_user='slaveuser',master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=337;//说明:这个master_log_file是主库最新的binlog日志,master_log_pos是主库最新的位置,使用showmasterstatus命令可以查看到。
mysql>startslave;mysql>showslavestatus\G;
如果出现:
Slave_IO_Running:Yes Slave_SQL_Running:Yes
以上两项都为Yes,那说明没问题了。
注:如果出现Slave_SQL_Running:connecting的现象,首先在从库命令行下输入: #mysql-uslaveuser-h192.168.1.100-p123456看是否能登入mysql,如果是拒绝等提示,那要查看主机上的第从库授权操作是否用户的权限等设置正确。 如果开始的环境不是主从架构,跑了一段时间已经有了数据, 这时候要先在主机上加锁:
进入指定数据库test:usetest; flushtableswithreadlock;
打包主机的数据目录:#tarzcf/tmpdatabak.tgz/opt/data,拷贝这个压缩包到从机,解压后,做主从的配置。 然后解锁:
unlocktables;
说明:
如果数据库主从所有的库表都同步,此时在主从的my.cnf中就不用配置binlog-do-db、binlog-ignore-db、replicate-do-db、replicate-ignore-db了。
有时候处理错误可以尝试在从库上跳过1次错误(从库中有增删改,造成了主键冲突):
mysql>stopslave;
mysql>setglobalsql_slave_skip_counter=1;
mysql>startslave;
mysql>showslavestatus\G;
相关文章推荐
- 烂泥:mysql5.5主从同步复制配置
- mysql5.5主从同步复制配置
- Mysql5.5主从复制配置
- mysql 5.5主从复制配置
- mysql5.5 主从复制配置过程
- 配置mysql5.5主从复制数据库集群
- Mysql5.5配置主从复制
- MySQL5.5配置主从复制_CentOS6.5下进行
- mysql5.5主从复制配置
- 配置mysql5.5主从复制数据库集群
- MySQL5.5主从复制架构配置及注意事项
- mysql5.5主从同步复制配置
- Mysql 5.5 主从数据复制(Master-Slave Replication)配置笔记
- linux下 mysql 5.5 数据库主从复制配置
- mysql5.5主从同步复制配置
- Mysql5.5配置主从复制
- mysql 5.5主从复制配置
- 烂泥:mysql5.5主从同步复制配置
- Centos7下配置安装mysql5.5主从复制(一主两从)
- [置顶] Mysql5.5主从复制配置