mysql复制主从集群搭建(二)

2014-11-24 15:41:44 · 作者: · 浏览: 1
n 5.6.20-log

6 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
7 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
8 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
9 /*!40101 SET NAMES utf8 */;
10 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
11 /*!40103 SET TIME_ZONE='+00:00' */;
12 /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
13 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
14 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
15 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

16 --
17 -- Table structure for table `tbldata`
18 --

19 DROP TABLE IF EXISTS `tbldata`;
20 /*!40101 SET @saved_cs_client = @@character_set_client */;
21 /*!40101 SET character_set_client = utf8 */;
22 CREATE TABLE `tbldata` (
23 `id` int(11) DEFAULT NULL
24 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
25 /*!40101 SET character_set_client = @saved_cs_client */;

26 --
27 -- Dumping data for table `tbldata`
28 --

29 LOCK TABLES `tbldata` WRITE;
30 /*!40000 ALTER TABLE `tbldata` DISABLE KEYS */;
31 INSERT INTO `tbldata` VALUES (1),(2),(3);
32 /*!40000 ALTER TABLE `tbldata` ENABLE KEYS */;
33 UNLOCK TABLES;

34 --
35 -- Dumping events for database 'reptest'
36 --

37 --
38 -- Dumping routines for database 'reptest'
39 --
40 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

41 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
42 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
43 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
44 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
45 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
46 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
47 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

48 -- Dump completed on 2014-08-25 13:50:48

4)
解锁数据库
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

############################
###拷贝数据文件目录方式#####
############################
#第二种取主数据库快照的方法
#mysqladmin -uroot shutdown
#打包数据库数据目录,例如数据目录是/data/dbdata:
#cd /data
#tar zcvf dbdata.tar.gz dbdata
#备份后就可以启动主服务器了:
#mysqld_safe –user=mysql &

8
在从服务器上恢复主库快照
1)
在从库上创建数据库
mysql> create database reptest;
Query OK, 1 row affected (0.00 sec)
2)
拷贝备份脚本到从服务器
[root@host2 ~]# scp root@192.168.18.66:/home/zxw/master_reptest.sql /home/zxw/
3)
主库快照导入到从库
[root@host2 ~]# mysql -uroot -psystem reptest < /home/zxw/master_reptest.sql
Warning: Using a password on the command line interface can be insecure.
4)
验证:
[root@host2 ~]# mysql -uroot -psystem
mysql> use reptest;
mysql>
mysql> show tables
-> ;
+-------------------+
| Tables_in_reptest |
+-------------------+
| tbldata |
+-------------------+
1 row in set (0.00 sec)

mysql> select * from tbldata;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.00 sec)

mysql>

############################
###拷贝数据文件目录方式#####
############################
#备份文件方式的导入
#由于需要置换成主服务器的数据目录,先关闭服务:
#mysqladmin -uroot shutdown
#备份数据目录
#mv dbdata dbdata.bak
#解包从主服务器拷贝来的数据目录
#tar zxvf dbdata.tar.gz
#要确保文件的权限属主等设置没问题,dbdata目录应该是mysql:mysql用户所有。

9
1)
在从服务器上操作,连接主服务器开始同步数据:
mysql> Change master to Master_host = '192.168.18.66', Master_port = 3306, Master_user = 'repl', Master_password = '123456', Master_log_file = 'mysql-bin.000002', Master_log