MySQL数据库主从备份,Liunx主,Windows从

Liunx主服务器

	1.使用Liunx主服务器添加备份账号
		create user ‘slave’@‘%’ identified by '密码';
	2.对备份账号授权
		grant replication slave on *.* to 'slave'@'%' identified by '密码';
	3.刷新权限
		flush privileges;
	4.vi etc/my.cnf 在[mysqld]下添加
    	server-id = 961203						#主服务器ID,类似于数据库主键,必须为数字,否则无法启动
		log-bin= /var/log/mysql/mysql-bin.log	#开启二进制日志
		binlog-do-db = yixin					#需要备份的数据库名,(如有多个数据库,使用逗号分隔)
		binlog-ignore-db = mysql				#忽略备份的数据库(默认忽略MySQL)
		binlog_cache_size = 1M					#缓存大小
		binlog_format = mixed					#主从复制的格式(mixed,statement,row)默认即statement
		expire_logs_days = 7					#二进制文件自动删除的天数,默认为0,表示不删除
		slave_skip_errors = 1062				#跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
	5.service mysqld restart				    #重启mysql服务
	6.show master status;						#查看主节点状态

Windows从数据库

	1.在MySQL安装目录下找到my.ini,并在[mysqld]添加以下内容
			server-id = 961204								#从服务器ID,必须为数字
			log-bin = D:/logs/mysql/mysql-bin.log			#开启二进制日志文件功能
			replicate-do-db = yixin							#需要备份的数据库名称
	2. 打开MySQL控制台或者Navicat的命令行界面
			正常登陆到MySQL
			change master to master_host = "主服务IP地址",
			master_user = "主服务器创建的用户备份的账户名",
			master_password = "主服务器创建的账户密码",
			master_port: "主服务器的端口,若主服务器为3306,不填此项即可" 
			master_log_file = "主服务器显示的mysql-bin.XXXX",
			master_log_pos = "主服务器显示的指针";
	3. start slave;				 #开启备份
	4. show slave status \G; 	 #查看状态
			

主服务器上显示的状态值
MySQL数据库主从备份,Liunx主,Windows从_第1张图片
则从服务器设置为

   ->change master to master_host="主服务器ip",
    -> master_user="备份账户",
    -> master_password="密码",
    -> master_log_file="mysql-bin.000001",
    -> master_log_pos=1462;

从服务器查看状态(出现slave 为YES则代表启动成功)MySQL数据库主从备份,Liunx主,Windows从_第2张图片

备注,遇到的坑,Liunx主服务器,MySQL重启服务时,一直无法启动,在/var/log/mysqld.log 查看具体的出错内容,
本人遇到的坑,出现mysql文件夹权限不足,导致无法启动,使用root用户登录chmod +w mysql即可

你可能感兴趣的:(MySQL主从备份,mysql,主从备份)