MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维 护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最
使用mysql复制(同步)
# mysqladmin create DB_name -u DB_user --password=DB_pass && \
mysqldump -u DB_user --password=DB_pass DB_name | mysql -u DB_user --password=DB_pass -h DB_host DB_name
使用MySQL压缩# same as above, mysql has the "-C" flag
使用SSH加密和压缩
mysqldump [options] sourcedatabase tablename \
| ssh -C user@remoteserver 'mysql [options]'
使用中间SQL文件和rsync,增量传送
mysqldump [options] sourcedb tbl > dump.sql
rsync [-z] dump.sql user@remoteserver:/path/to/remote/dump.sql
ssh user@remoteserver "mysql [options] < /path/to/remote/dump.sql"
使用PERL脚本
#!/usr/bin/perl
# This'll sync a table to a remote MySQL server.
# local_pass is your local password
# database_name is your database name
# remote_pass is the production server password
# database_name is the database name (shockingly enough).
# remote.mysql.server is the remote server
my $table=shift;
chomp($table);
if($table){
`mysqldump -al --password=local_pass --add-drop-table database_name $table \
| mysql -h remote.mysql.server --password=remote_pass database_name`;
MySQL Replication 系统扩展的方式: scale up:向上扩展,垂直扩展 使用更高性能的硬件来扩展 scale out:向外扩展,水平扩展 提供更多的节点来提供更多的访问需求 复制:水平扩展的一种方案 如果构建一个httpd负载均衡集群
by iefreer
使用mysql复制(同步) # mysqladmin create DB_name -u DB_user --password=DB_pass && \mysqldump -u DB_user --password=DB_pass DB_name | mysql -u DB_user --password=DB_pass -h DB_hos