Heim > Datenbank > MySQL-Tutorial > 使用MySQL的镜像功能进行数据同步

使用MySQL的镜像功能进行数据同步

WBOY
Freigeben: 2016-06-07 17:28:11
Original
1713 Leute haben es durchsucht

数据库版本:5.1.24。 4.x版本的数据库请自己去找相应文档。 英文版文档的原文地址:http://dev.mysql.com/doc/refman/5.1/en/re

数据库版本:5.1.24。
 
4.x版本的数据库请自己去找相应文档。
 
英文版文档的原文地址:
 
1 在主服务器(master)正常运行的情况下,创建一个专门用来同步数据的用户。
 
CREATE USER ‘用户名’@'从服务器IP’ IDENTIFIED BY ‘密码’;
 
GRANT REPLICATION SLAVE ON *.* TO ‘用户名’@'从服务器IP’;
 
这个用户名和密码(明文)以后会自动保存到从服务器上的master.info里面。
 
2 修改主服务器上面的my.cnf
 
[mysqld]
 
log-bin=mysql-bin
 
server-id=1
 
这个镜像系统中的每一台mysql主机都需要一个不同的server-id (1~2的32次方-1)
 
PS:如果使用了innodb, 还需要加上:
 
innodb_flush_log_at_trx_commit=1
 
sync_binlog=1
 
PS again:  主服务配置文件里面一定不能有 skip-networking
 
PS3: 主服务器防火墙开放3306端口给从服务器。
 
然后重新启动主服务器的mysqld,,使配置生效。
 
3 获取主服务器状态信息并复制数据。
 
3.1 获取主服务器二进制日志的座标
 
在主服务器上运行一个mysql客户端,
 
mysql> FLUSH TABLES WITH READ LOCK;
 
这会flush所有的数据表,并且阻塞所有的写入操作。
 
对于innodb类型的表,COMMIT 语句也会阻塞。
 
不要退出这个mysql客户端,否则这个read lock会失效。
 
在主服务器上重新打开一个mysql客户端,
 
mysql > SHOW MASTER STATUS;
 
+—————+———-+————–+——————+
 
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 
+—————+———-+————–+——————+
 
| mysql-bin.003 | 73      | test        | manual,mysql    |
 
+—————+———-+————–+——————+
 
File 字段显示的是二进制日志的文件名
 
Position 显示的是此文件中的偏移量。 抄下来这二个数据。
 
They represent the replication coordinates at which the slave should begin processing new updates from the master.

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage