版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Mysql主从配置(windows环境下)主库配置1.修改配置文件(这个路径是默认隐藏的,当时被Program Files下面的配置文件骗了好久)C:ProgramDataMySQLMySQL Server 5.7my.ini加入以下配置内容#Master Config server_id=172 / 保证唯一性log-bin=mysql-bin / 默认值binlog-do-db=test1_db / 需要备份的数据库名称binlog-ignore-db=information_schema / 不需要备份的数据库名称binlog-ignore-db=mysqlbinlog-ignore-d
2、b=performance_schemabinlog-ignore-db=test说明:server_id 服务id,主从之间保持唯一性log-bin 默认为mysql-binbinlog-do-db 需要备份的数据库名称binlog-ignore-db 不需要备份的数据库名称2. 创建用于数据库备份的账号信息CREATE USER 'backup''192.168.0.%' IDENTIFIED BY 'kshjn'说明:以上命令需要在客户端中执行'backup' 用于同步数据的账号'192.168.0.%' i
3、p白名单'kshjn' 密码3. 给账号设置权限GRANT REPLICATION SLAVE ON *.* TO 'backup''192.168.0.%' IDENTIFIED BY 'kshjn'flush privileges;说明:以上命令需要在客户端中执行'backup' 用于同步数据的账号'192.168.0.%' ip白名单'kshjn' 密码flush privileges 刷新权限4.重启mysql服务show variables like 'server
4、_id' 查看server_id是否与配置文件中一致show master status; 查看主库是否开始同步服务从库配置1.修改配置文件C:ProgramDataMySQLMySQL Server 5.7my.ini加入以下配置内容#Slave Configserver-id=223 / 保证唯一性log-bin=mysql-bin / 默认值replicate-do-db=test1_db / 需要备份的数据库名称replicate-ignore-db=information_schema / 不需要备份的数据库名称replicate-ignore-db=mysqlreplica
5、te-ignore-db=performance_schemareplicate-ignore-db=test说明:server_id 服务id,主从之间保持唯一性log-bin 默认为mysql-binreplicate-do-db 需要备份的数据库名称replicate-ignore-db 不需要备份的数据库名称2. 重启mysql服务后,创建同步任务stop Slave 停止同步任务CHANGE MASTER TO MASTER_HOST='72', MASTER_PORT=3306, MASTER_USER='backup', MA
6、STER_PASSWORD='kshjn' 设置主库信息start Slave 开启同步任务说明:以上命令需要在客户端中执行3.验证同步任务show SLAVE status;问题处理mysql主从同步Slave_SQL_Running: No, Last_Errno: 1062的解决方法原因可能是两边数据不一致,数据库开始进行同步,但是由于在复制同步的时候,发现对方库中存在相同的主键,从而同步失败, 并导致 Slave_SQL_Running: No 出现解决方法(测试可行): 修改MySQL的配置文件,/etc/f,在mysqld下面添加一行slave_
7、skip_errors = 1062保存、重启mysql服务,再次查看主从复制,问题解决。Mycat环境搭建下载mycat最新版本server-1.6-RELEASE-20161028204710-win解压后目录如下环境变量配置新建MYCAT_HOME说明:变量值为mycat的解压路径编辑Path说明:追加” %MYCAT_HOME%bin”用户信息配置修改/conf/server.xml/ 管理员配置<user name="root"><property name="password">kshjn</property&g
8、t;<property name="schemas">mycatdb</property></user>/ 只读用户配置<user name="user"><property name="password">kshjn</property><property name="schemas">mycatdb</property><property name="readOnly">true<
9、;/property></user>说明:Schemas 节点配置的是mycat抽象后的数据库名称,如图:如果存在多个数据库,配置如下:<property name="schemas">db1,db2</property>数据库集群配置修改schema.xml文件,如下:<mycat:schema xmlns:mycat="http:/io.mycat/"><schema name="mycatdb" checkSQLschema="false" sqlM
10、axLimit="100" dataNode="dn1"><!- auto sharding by id (long) -></schema><dataNode name="dn1" dataHost="localhost1" database="test1_db" /><dataHost name="localhost1" maxCon="1000" minCon="10" balanc
11、e="1" writeType="0" dbType="mysql" dbDriver="native"><heartbeat>select user()</heartbeat><!- can have multi write hosts -><writeHost host="hostM1" url=":3306" user="root" password="kshjn"
12、><!- can have multi read hosts -><readHost host="hostS2" url="23:3306" user="root" password="kshjn" /></writeHost></dataHost></mycat:schema>说明:schema 该标签用于定义MyCat实例中的逻辑库,MyCat可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用 schema 标 签来划
13、分这些不同的逻辑库。checkSQLschema 当该值设置为 true 时,如果我们执行语句*select * from TESTDB.travelrecord;*则MyCat会把语句修改为*select * from travelrecord;*。即把表示schema的字符去掉,避免发送到后端数据库执行时报*(ERROR 1146 (42S02): Table record doesnt exist)。* 不过,即使设置该值为 true ,如果语句所带的是并非是schema指定的名字,例如:*select * from record;* 那么
14、MyCat并不会删除db1这个字段,如果没有定义该库的话则会报错,所以在提供SQL语句的最好是不带这个字段。sqlMaxLimit 当该值设置为某个数值时。每条执行的SQL语句,如果没有加上limit语句,MyCat也会自动的加上所对应的值。例如设置值为 100,执行*select * from TESTDB.travelrecord;*的效果为和执行*select * from TESTDB.travelrecord limit 100;*相同。 不设置该值的话,MyCat默认会把查询到的信息全部都展示出来,造成过多的输出。所以,在正常使用中,还是建议加上一个 值,用于减少过多的数据返回。
15、当然SQL语句中也显式的指定limit的大小,不受该属性的约束。dataNode属性 定义这个逻辑库所属的dataNode, 该属性的值需要和dataNode标签中name属性的值相互对应。dataNode 该标签定义了MyCat中的数据节点,也就是我们通常说所的数据分片。一个*dataNode* 标签就是一个独立的数据分片。name属性 定义数据节点的名字,这个名字需要是唯一的,我们需要在table标签上应用这个名字,来建立表与分片对应的关系。 dataHost属性 该属性用于定义该分片属于哪个数据库实例的,属性值是引用dataHost标签上定义的name属性。 database属性 该属性
16、用于定义该分片属性哪个具体数据库实例上的具体库,因为这里使用两个纬度来定义分片,就是:实例+具体的库。因为 每个库上建立的表和表结构是一样的。所以这样做就可以轻松的对表进行水平拆分。dataHost该标签在mycat逻辑库中也是作为最底层的标签存在,直接定义了具体的数据库实例、读 写分离配置和心跳语句。现在我们就解析下这个标签。maxCon属性 指定每个读写实例连接池的最大连接。也就是说,标签内嵌套的writeHost、readHost标签都会使用这个属性的值来实例化出连 接池的最大连接数。 minCon属性 指定每个读写实例连接池的最小连接,初始化连接池的大小。 balance属性 负载均衡
17、类型,目前的取值有3种: 1. balance=“0”, 所有读操作都发送到当前可用的writeHost上。 2. balance=“1”,所有读操作都随机的发送到readHost。 3. balance=“2”,所有读操作都随机的在writeHost、readhost上分发。 writeType属性 负载均衡类型,目前的取值有3种: 1. writeType=“0”, 所有写操作都发送到可用的writeHost上。 2. writeType=“1”,所有写操作都随机的发送到readHost。 3. writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。
18、dbType属性 指定后端连接的数据库类型,目前支持二进制的mysql协议,还有其他使用JDBC连接的数据库。例如:mongodb、oracle、 spark等。dbDriver属性 指定连接后端数据库使用的Driver,目前可选的值有native和JDBC。使用native的话,因为这个值执行的是二进制的mysql协 议,所以可以使用mysql和maridb。其他类型的数据库则需要使用JDBC驱动来支持。 如果使用JDBC的话需要将符合JDBC 4标准的驱动JAR包放到MYCATlib目录下,并检查驱动JAR包中包括如下目录结构的文 件:META-INFservicesjava.sql.Dr
19、iver。在这个文件内写上具体的Driver类名,例如:com.mysql.jdbc.Driver。heartbeat该标签 这个标签内指明用于和后端数据库进行心跳检查的语句。例如,MYSQL可以使用select user(),Oracle可以使用select 1 from dual等。writeHost、readHost这两个标签都指定后端数据库的相关配置给mycat,用于实例化后端连接池。唯一不同的是,writeHost指定写实例、readHost 指定读实例,组着这些读写实例来满足系统的要求。 在一个dataHost内可以定义多个writeHost和readHost。但是,如果write
20、Host指定的后端数据库宕机,那么这个writeHost绑定的所有readHost都将不可用。另一方面,由于这个writeHost宕机系统会自动的检测到,并切换到备用的writeHost上去。host属性 用于标识不同实例,一般writeHost我们使用*M1,readHost我们用*S1。 url属性 后端实例连接地址,如果是使用native的dbDriver,则一般为address:port这种形式。用JDBC或其他的dbDriver,则需要特殊 指定。当使用JDBC时则可以这么写:jdbc:mysql:/localhost:3306/。 user属性 后端存储实例需要的用户名字passw
21、ord属性 后端存储实例需要的密码备注:同时存在多个数据库时,配置如下:<schema name="ksh_bdp_c" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema><schema name="ksh_ems_c" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2"
22、;></schema><dataNode name="dn1" dataHost="localhost1" database="ksh_bdp_c" /><dataNode name="dn2" dataHost="localhost1" database="ksh_ems_c" /><dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native"><heartbeat>select user()</heartbeat><writeHost host=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国免疫抗疲劳食品行业经营态势及竞争格局分析研究报告
- 2024-2030年中国3-羟基丁酸盐行业应用动态及供需趋势预测研究报告
- 2024至2030年中国榨菜袋数据监测研究报告
- 黏合内部组织用医用黏合剂商业机会挖掘与战略布局策略研究报告
- 运载工具用挡风玻璃细分市场深度研究报告
- 鞋油市场发展前景分析及供需格局研究预测报告
- 个人私有云服务行业市场调研分析报告
- 蓄电池用充电器市场发展前景分析及供需格局研究预测报告
- 非金属非砖石贮液容器细分市场深度研究报告
- 居间互联网信息服务合同
- 1.1《坚持改革开放》课件3
- 鱼菜共生新型生态项目可行性研究报告模板-立项备案
- 2024年全国中级会计职称之中级会计财务管理考试历年考试题详细参考解析
- 2024年新发传染病或流行病的防控知识试题及答案
- 新能源公司绩效考核方案
- 桁架吊装验收要求
- 古建筑测绘智慧树知到期末考试答案章节答案2024年长安大学
- 意外伤害保险行业市场调研分析报告
- 智慧园区建设规范:第2部分 平台建设
- 二甲评审迎检注意事项及技巧
- 三棵树涂料股份有限公司股权激励研究
评论
0/150
提交评论