数据同步
数据同步的原理:主服务器对表操作生成日志文件,从服务器拿到日志在对表进行操作
主机为window下
从机为linux下
配置主服务器(主)
1,编辑数据库配置文件的my.cnf或my.ini文件(视窗),一般在的/ etc /目录下。
在[mysqld]的下面加入下面代码:
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog-do-db=wordpress
binlog_ignore_db=mysql
说明:
server-id = 1 //中的1可以任定义,只要是唯一的就行。
binlog-do-db = wordpress //是表示只备份wordpress。
binlog_ignore_db = mysql //表示忽略备份mysql。
不加二进制日志-DO-DB和binlog_ignore_db,那就表示备份全部数据库。
表示没开启使用命令显示'%log_bin%'等变量, ;
在数据库mysql 5.7中my.in位于:C:\ ProgramData \ MySQL \ MySQL Server 5.7,而不是位于:C:\ Program Files \ MySQL \ MySQL Server 5.7。
日志开启之后。
linux安装数据库
http://blog.csdn.net/zhou920786312/article/details/77750604#comments
4 ,配置从数据库的my.cnf 。(如何没有可以用以前的配置)
[mysqld]
服务器ID = 2
执行同步的MySQL的命令
将主人改为
- > master_host ='192.168.159.2',
- > master_user ='root',
- > master_password ='root',
- > master_log_file ='mysql-bin.000002',
- > master_port = 3306,
- > MASTER_LOG_POS = 154;
----start slave //开启从数据库。(平时不用时关了)
-----show status slave //查看从数据库
只有当Slave_IO_Running | Slave_SQL_Running 都为yes时才算连接成功。才表明状态正常。其中(Slave_IO_Running 是负责主数据库的日志的读取。Slave_SQL_Running 是负责slave数据库的sql语句的操作)
错误连接到主'root@192.168.159.2:3306' - 重试时间:60次重试:1出现这种错误,导致无法连接。?????? 重新创建连接账号。(或者删了,在建)
grant replication SLAVE on *.* to 'root'@'192.168.159.128'
IDENTIFIED by 'root'
Flush privileges 刷新(一定要刷新)
--- show slave status;
| Slave_IO_State | Master_Host | Master_User | Master_Port | Connect_Retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert |Last_IO_Errno |Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID | Master_Info_File | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position | Replicate_Rewrite_DB | Channel_Name | Master_TLS_Version | | | | 192.168.159.2 | mstest | 3306 | 60 | mysql-bin.000002 | 3306 | localhost-relay-bin.000002 | 4 | mysql-bin.000002 | No | Yes | | | | | | | 0 | | 0 | 3306 | 154 | None | | 0 | No | | | | | | NULL | No | 1236 | Got fatal error 1236 from master | 0 | | | 1 | 74b09d32-caa0-11e7-9e54-00e04c7f3d55 | /usr/local/mysql/data/master.info | 0 | NULL | Slave has read all relay log; waiting | 86400 | | 180107 15:35:02 | | | | | | 0 | | | | |