windows实现mysql主从配置

好消息,百度网盘专业搜索网站上线了
打开瞧一瞧: http://bitar.cn
1、MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
2、MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
3、MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
	下载地址:http://dev.mysql.com/downloads/cluster/
	MySQL Cluster 7.4.7:http://dev.mysql.com/downloads/file.php?id=457916
4、MySQL Cluster CGE 高级集群版,需付费。
5、MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。

MySQL Community Server 是开源免费的,这也是我们通常用的MySQL的版本。
根据不同的操作系统平台细分为多个版本

官方地址
http://dev.mysql.com/downloads/windows/

MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采
用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器

主从复制
  MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)。
	GTID方式不支持临时表

配置说明

客户端节点
[client] 配置客户端连接服务器的属性
port = 3306 # 设置mysql客户端连接服务端时默认使用的端口

服务器节点
[mysqld]
port=3306 # mysql服务端默认监听(listen on)的TCP/IP端口




mysqld --defaults-file=E:\balance\mysql-server\my.ini --console
--console 显示日志

=================主从
1、准备
	两个服务器软件,
	下载网址http://fossies.org/linux/misc/ ,版本mysql-5.5.24-winx64.zip
	E:\balance\mysql-3306
	E:\balance\mysql-3307
	使用socket方式
2、master配置
	确保配置中有
	[mysqld]
	port=3306
	log-bin=mysql-bin
	server-id=1
	binlog-do-db=jinbu
	binlog-ignore-db=mysql
	binlog-ignore-db=test
	socket		= E:\\balance\\mysql-3306\\tmp\\tmp\\mysql.sock
3、启动master
	mysqld --defaults-file=E:\balance\mysql-3306\my.ini --console
	mysql -uroot mysql //
	mysqladmin.exe shutdown -uroot -p123456 //关闭服务
4、创建数据库和用户并分配权限
	create database jinbu;
	create user repl@'%' identified by '123456';
	//repl只用于复制
	grant replication slave,replication client on *.* to repl@'%';
	flush privileges;
	//show grants for repl
	//revoke all on *.* from repl

5、slave配置
	[mysqld]
	port=3307
	log-bin=mysql-bin
	server-id=2
	binlog-do-db=jinbu
	binlog-ignore-db=mysql
	binlog-ignore-db=test
	socket		= E:\\balance\\mysql-3306\\tmp\\tmp\\mysql.sock
6、导出主库数据到从库

	方式一、锁定主库,查看并记录二进制状态,关闭服务并复制InnoDB数据文件、
		日志文件和表定义文件(.frm文件),
		1)flush tables with read lock;
		2)show master status\G  (因为配置了logs-bin,否则都是空)
			File: mysql-bin.000007
			Position: 107
		3)mysqladmin.exe shutdown -uroot -p123456 //关闭服务
		4)复制到从服务器data中,从服务器其他库不删除
		5)启动从服务器(--skip-slave-start 指示启动不连主服务器,--logs-warnings显示更多警告)
			mysqld --defaults-file=E:\balance\mysql-3307\my.ini --skip-slave-start  --console
		6)mysql -u root -h127.0.0.1 -P3307  //无密码不加-p
		7)mysql>change master to
			master_host='127.0.0.1',
			master_port=3306,
			master_user='repl',
			master_password='123456',
			master_log_file='mysql-bin.000007',
			master_log_pos=107;
		
		8)启动master
			mysqld --defaults-file=E:\balance\mysql-3306\my.ini --console
		8)start slave;
			 Slave_IO_Running: Yes
			 Slave_SQL_Running: Yes
	方式二、较慢,除了数据不同其他可参考方式一
		主服务器上使用mysqldump --master-data
		SQL转储文件装入从服务器
		cmd:mysql db_name < backup-file.sql

7、ok,主库操作会同步到从库


猜你喜欢

转载自hvang1988.iteye.com/blog/2237076
今日推荐