1.编辑主节点mysql中/etc/my.conf文件
log-bin=my_mysql
server_id=1
log-bin:mysql的bin-log的名字
server_id:主节点mysql的实例id,必须全局唯一且大于0
2.编辑从节点mysql中/etc/my.conf文件
server_id=2
server_id:从节点的mysql实例id,必须全局唯一且大于0,不同于主节点的id
3.在mysql主节点上创建用于主从数据同步的账号
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* to 'repl'@'%';
4.在mysql主节点加锁,阻止所有写入操作
mysql> flush table with read lock;
5.在mysql主节点查看bin-log的文件名和位置
mysql> show master status;
6.在mysql主节点上dump所有数据
mysql> mysqldump --all-databases --master-data > dbdump.db -uroot -p
7.解锁mysql主节点,恢复对数据库的读写操作
mysql>unlock tables
8.主节点dump的数据传输到从节点
scp dbdump.db remote_username@remote_ip:remote_file
9.mysql从节点上导入之前的dump的数据
mysql -uroot -proot -h127.0.0.1 -P3306<dbdump.db
10.在mysql从节点上配置主从连接信息
mysql> CHANGE MASTER TO
MASTER_HOST='master_host_name',
MASTER_PORT=port_num
MASTER_USER='replication_user_name',
MASTER_PASSWORD='replication_password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=recorded_log_position;
master_host_name:主节点地址
port_num:端口号
replication_user_name:同步数据账号的用户名
replication_password:同步数据账户的密码
recorded_log_file_name:bin-log文件的名称(来自步骤5的File)
recorded_log_position:bin-log文件的position位置(来自步骤5的Position)
11.启动从节点同步
mysql> start slave
12.查看从节点mysql同步状态
mysql> show slave status