在两台Linux机器上安装MySQLmysql
1、Master主服务器配置
1.编辑my.cnf(命令查找文件位置:find / -name my.cnf)
vi /etc/mysql/my.cnfsql
在[mysqld]中添加:数据库
server-id = 100
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
log_bin = master-bin
log_bin_index = master-bin.index
binlog_do_db = my_data
binlog_ignore_db = mysql服务器
备注:server-id 服务器惟一标识,log_bin 启动MySQL二进制日志,binlog_do_db 指定记录二进制日志的数据库,binlog_ignore_db 指定不记录二进制日志的数据库。rest
2.登陆主服务器MySQL建立从服务器用到的帐户和权限:日志
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '密码'server
3.重启MySQL
systemctl restart mysqld.serviceip
4.释放锁
mysql> UNLOCK TABLES;同步
5.登陆MySQL状态下,查看主服务器状态:
mysql> show master status;
+-------------------+----------+----------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+----------------+------------------+-------------------+
| master-bin.000001 | 2261 | my_data | mysql | |
+-------------------+----------+----------------+------------------+-------------------+it
2、Slave从服务器配置
1.编辑my.cnf(命令查找文件位置:find / -name my.cnf)
vi /etc/mysql/my.cnf
在[mysqld]中添加:
server-id = 101
relay_log = slave-relay-bin
relay_log_index = slave-relay-bin.index
2.重启MySQL
systemctl restart mysqld.service
3.登陆Slave从服务器,链接Master主服务器
mysql> change master to master_host='主服务器IP',master_port=3306,master_user='backup',master_password='密码',master_log_file='master-bin.000001',master_log_pos=154;
4.执下面命令,根据具体的错误来断定,通常用于主键冲突或者更新失败错误,进行手动跳过。
mysql> stop slave sql_thread;set global sql_slave_skip_counter=1;start slave sql_thread;
5.登陆MySQL状态下,启动Slave数据同步。
start slave;
6.登陆MySQL状态下,查看Slave信息:
show slave status\G;
Slave_IO_Running和Slave_SQL_Running都为yes才表示同步成功。Slave_IO_Running: YesSlave_SQL_Running: Yes