mysql 参数一览

thread_connected: 当前已连接的线程数;

max_connections: 能连接的最大数目;

init_connect: 当客户端与server建立连接的时候会执行的一些操作; 最典型的是 init_connect='set autocommit=0'. mysql告诉我们这个作用, 可是mysql没有告诉我们全部; 事实上如果具有SUPER权限的人登录,init_connect是不会被执行的, 所以select @@autocommit得到的结果仍然是1,而不是0.

innodb_force_recovery: 当发现innodb page corruption的时候,可以通过改变这个值来让innodb启动,它会放弃启动时的一些操作(例如检查innodb page, rollback没有commit的transaction, 查询redo log等等), 不同的值的操作不一样; http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html. 如果使用大>0 的值启动的时候, innodb会禁止insert/update/delete操作,但是可以select以便把corruption的page给dump出来; 也允许create/alter/drop tables;

innodb_fast_shutdown: 这个参数控制着innodb在关闭的时候需要的一些操作; 在mysql5.1.45的默认值是1; 1表示在关闭innodb的时候并不清理innodb未commit的事务而是直接关闭innodb, 在innodb启动的时候会到undo里去查找这些未commit的事务并且rollback, 而0值则刚好相反, 会去清楚事务,但是这可能会需要很长的关闭时间; 哪个值更合适产线呢? 我个人觉得innodb_fast_shutdown=0更合适;

关于复制的一些参数

replicate_do_db: 表示需要复制的数据库,如果有多个数据库需要同步, 那么只要重复增加这个参数就可以, 一个replicate-do-db只能指定一个需要复制的数据库;注意,类似 UPDATE some_db.some_table SET foo='bar' 这样的跨库操作语句以及没有选中数据库的操作都不会被同步。如果必须使用跨库操作,要确保使用MySQL 3.23.28或更高,并且使用 –replicate-wild-do-table=db_name.% 选项

replicate-do-table:指定需要复制的表;

replicate-wild-do-table=db_name.db_tables; 指定需要复制的数据库表;可以使用通配符%或_; 例如 replicate-wild-do-table=test.cwmobjectvarchar%, test.cwmobjectblob%

还存在一些问题
不管有没有replicate-wild-do-table 选项,更新操作必须是mysql 连接已经有选择的数据库了才进行,譬如新建的mysql (新连接是没有默认选择的database 的)连接中执行:
UPDATE test.client SET name='test' WHERE uid=1;
这条更新无法同步到备机,必须在update use database 操作,该database 必须是replicate-wild-do-table 中指定的database
保险的解决方式 :连接上mysql 后,调用mysql_select_db() 选择数据库,之后进行的更新操作就可以自动同步了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7682812/viewspace-668623/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7682812/viewspace-668623/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值