MySQL主库已经存在的基础上搭建从库的过程--> (旧资料整理)
2013-09-07 21:26
609 查看
【备注】:
主机192.168.250.20
备机192.168.250.40
主从复制
1 主机上面已经有了MySQL5.1.53-log版.
2 备机上没有mysql数据库,需要在备机上安装MySQL5.1.53-log软件,具体参考svn文档“system\mysql\document\IT_SYS_MySQL_Installation.docx”。
3 再次确定主服务器与从服务器的MySQL版本一致
Showvariables like 'version';
4 在主服务器上位服务器设置一个连接账号,赋予replication slave权限。
MySQL> grant replication slave, super,reload on *.* to 'rel'@'192.168.250.40 identified by'slavepwd1229';
5 确保主服务器上的my.cnf文件的[mysqld]部分包括一个log-bin选项。如下:
[mysqld]
………
log-bin=mysql-bin
server-id=1
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
6 确保从服务器,确保在my.cnf文件中添加以下的行:
[mysqld]
log-bin=mysql-bin
server-id=2
log_slave_updates = 1
read_only=1 # 这个参数表示只有supser
relay-log=relay-bin
relay-log-index=relay-bin
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
log_bin_trust_function_creators = 1
7 主服务器重启(如果配置了master服务也可以不重启),从服务器重启
n 主服务器已经运行很长时间,binlog不是从0001开始。
8 在主服务器上查看master状态
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000075 | 875653787 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
9 启动从服务器,设置复制断点
先从250.20上面copy数据文件到250.40上面,然后chown数据权限,最后刷新表
Mysql> flush tables;
从102上面导入所有的存储过程以及存储函数:
/usr/local/mysql/bin/mysqldump -h192.168.250.20-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R csf_maec > /tmp/cm20101230.sql;
/usr/local/mysql/bin/mysqldump -hlocalhost-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R csf > /tmp/csf20101230.sql;
/usr/local/mysql/bin/mysqldump -hlocalhost-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R csf_pub > /tmp/csf_pub20101230.sql;
/usr/local/mysql/bin/mysqldump -hlocalhost-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R reuters_interface >/tmp/reuers_inter20101230.sql;
Mysql> change master tomaster_user='rel',
master_password=' slavepd1012301151' ,
master_host='192.168.250.20’,
master_log_file='mysql-bin.000075',
master_log_pos=875653787;
mysql> start slave;
mysql> show slave status \G;
10 如果复制状态Slave_IO_Running,Slave_SQL_Running都为Yes,说明复制已经配置正确,如下:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Ok,下面insert、delete、update、drop、truncate等等都测试成功。
意外1:
主机停机,备机正常:主机重启之后,备机仍然可以正常进行复制同步。
意外2:
主机不停机,备机停机:备机重启后,备机开启手工复制功能如下:
Mysql> start slave;
意外3:
主机停机,备机停机:
(1) 先开启slave,启动mysql,进入mysql
Mysql> stop slave;
Mysql> show slave status \G;记下最后一个pos与binlog值为mysql-bin.000079、875653787
(2) 重新指定master目标:
Mysql> change master tomaster_user='rel',
master_password=' slavepd1012301151' ,
master_host='192.168.250.20,
master_log_file='mysql-bin.000079',
master_log_pos=875653787;
(3) 启动master
(4) 进入slave,启动复制功能。执行start slave;
Mysql> start slave;
主机192.168.250.20
备机192.168.250.40
主从复制
1 主机上面已经有了MySQL5.1.53-log版.
2 备机上没有mysql数据库,需要在备机上安装MySQL5.1.53-log软件,具体参考svn文档“system\mysql\document\IT_SYS_MySQL_Installation.docx”。
3 再次确定主服务器与从服务器的MySQL版本一致
Showvariables like 'version';
4 在主服务器上位服务器设置一个连接账号,赋予replication slave权限。
MySQL> grant replication slave, super,reload on *.* to 'rel'@'192.168.250.40 identified by'slavepwd1229';
5 确保主服务器上的my.cnf文件的[mysqld]部分包括一个log-bin选项。如下:
[mysqld]
………
log-bin=mysql-bin
server-id=1
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
6 确保从服务器,确保在my.cnf文件中添加以下的行:
[mysqld]
log-bin=mysql-bin
server-id=2
log_slave_updates = 1
read_only=1 # 这个参数表示只有supser
relay-log=relay-bin
relay-log-index=relay-bin
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
log_bin_trust_function_creators = 1
7 主服务器重启(如果配置了master服务也可以不重启),从服务器重启
n 主服务器已经运行很长时间,binlog不是从0001开始。
8 在主服务器上查看master状态
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000075 | 875653787 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
9 启动从服务器,设置复制断点
先从250.20上面copy数据文件到250.40上面,然后chown数据权限,最后刷新表
Mysql> flush tables;
从102上面导入所有的存储过程以及存储函数:
/usr/local/mysql/bin/mysqldump -h192.168.250.20-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R csf_maec > /tmp/cm20101230.sql;
/usr/local/mysql/bin/mysqldump -hlocalhost-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R csf > /tmp/csf20101230.sql;
/usr/local/mysql/bin/mysqldump -hlocalhost-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R csf_pub > /tmp/csf_pub20101230.sql;
/usr/local/mysql/bin/mysqldump -hlocalhost-uroot -pguNNhtqhjUnfky6ahyVh -ntd -R reuters_interface >/tmp/reuers_inter20101230.sql;
Mysql> change master tomaster_user='rel',
master_password=' slavepd1012301151' ,
master_host='192.168.250.20’,
master_log_file='mysql-bin.000075',
master_log_pos=875653787;
mysql> start slave;
mysql> show slave status \G;
10 如果复制状态Slave_IO_Running,Slave_SQL_Running都为Yes,说明复制已经配置正确,如下:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Ok,下面insert、delete、update、drop、truncate等等都测试成功。
意外1:
主机停机,备机正常:主机重启之后,备机仍然可以正常进行复制同步。
意外2:
主机不停机,备机停机:备机重启后,备机开启手工复制功能如下:
Mysql> start slave;
意外3:
主机停机,备机停机:
(1) 先开启slave,启动mysql,进入mysql
Mysql> stop slave;
Mysql> show slave status \G;记下最后一个pos与binlog值为mysql-bin.000079、875653787
(2) 重新指定master目标:
Mysql> change master tomaster_user='rel',
master_password=' slavepd1012301151' ,
master_host='192.168.250.20,
master_log_file='mysql-bin.000079',
master_log_pos=875653787;
(3) 启动master
(4) 进入slave,启动复制功能。执行start slave;
Mysql> start slave;
相关文章推荐
- MySQL主库已经存在的基础上搭建从库的过程
- 简单易懂的Android --NDK环境搭建>基础使用过程
- <转>用已经存在的xml文件作为flex柱状图饼状图等数据源的方式有几种?
- MySQL-->基础知识-->linux 下 mysql配置文件 /etc/my.cnf 详细解释
- <Eclipse+Android>import已经导入的文件提示已存在
- mysqldump全备份脚本mysqlallbackup.sh-->(旧文档整理)
- <1>Lua 环境搭建与语法基础
- [MySQL]-->查询5天之内过生日的同事中的闰年2月29日问题的解决过程
- [MySQL] 存储过程错误异常处理例子 --> DECLARE EXIT HANDLER FOR SQLEXCEPTION
- java基础教程2---->程序执行过程映射到内存怎么变化
- [MySQL]-->询5 几天之内解决在新年发行一个同事的生日过程
- MySQL-->基础知识-->mysql my.cnf 配置建议
- [MySQL]-->查询5天之内过生日的同事中的闰年2月29日问题的解决过程
- Linux基础(虚拟机搭建&常用命令&mysql安装以及Jdk安装)
- [MySQL]-->查询5天之内过生日的同事中的跨年问题的解决过程
- << 数据库 >>mysql好的学习资料
- Android React-Native系列之<一>零基础搭建React-Native开发环境
- mysql:环境配置安装<查找资料整理综合>,值得收藏
- ->ubuntu的lamp(apache+php+mysql+phpmyadmin)环境配置过程:
- 【MySQL 帮助】帮朋友优化SQL的过程-->从4S到0.011秒