MySQL数据库主从复制一般有两种:
一、复制主数据库
步骤:
1:先做一个准确备份,备份期间数据不能改变不然容易发生意想不到的问题。
停用相关服务
#锁定数据库只读
flush tables with read lock
show master status找到:
File mysql-bin-log.000094
Position 964084202
使用
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份所需的数据库,然后可以在主数据库中输入 unlock tables 解锁数据库,让数据可以写入。
从数据库使用
mysql -uuser -ppassword database < backupdatabase.sql
stop slave
停止从服务,然后使用
change master to
master_host='master-host’,
master_user='slave-host,
master_password='slave-passwd',
master_port=3306,
master_log_file='mysql-bin.000040',
master_log_pos=485;
start slave;
完成同步。
二、复制从数据库
1:stop slave;
2:flush tables with read lock;
3:show slave status;
4:Relay_Master_Log_File :mysql-bin-log.000094
Exec_Master_Log_Pos :631799072
5:
change master to
master_host='master-host',
master_user='slave-hos',
master_password='slave-passwd',
master_port=3306,
master_log_file='mysql-bin-log.000094',
master_log_pos=631799072;
start slave;
完成复制从,利用新复制的从连接主数据库可以得到另外一个新的从数据库。