使用MySQL-Proxy读写分离时的注意事项

在动手操作前最好先安装好MySQL-Proxy,并配置好MySQL主从服务器。
延迟问题
读写分离不能回避的问题之一就是延迟,可以考虑Google提供的SemiSyncReplicationDesign补丁。
端口问题
MySQL-Proxy缺省使用的是4040端口,如果你想透明的把3306端口的请求转发给4040的话,那么可以:
iptables -t nat -I PREROUTING -s ! 127.0.0.1 -p tcp –dport 3306 -j REDIRECT –to-ports 4040
如果想删除这条规则,可以把上面例子中的-I换成-D。
密码加密方式
MySQL-Proxy不支持老的密码加密方式,所以...

通过status信息对MySQL服务器进行优化

  网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。
  mysql> show global status;
  可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句:
  mysql> show variables;
  一、慢查询
  mysql> show variables like ‘%slow%’;    +&...

mysqlslap简单压力测试

mysqlslap是官方提供的压力测试工具之一,官方介绍如下:
mysqlslap is a diagnostic program designed to emulate client load for a MySQL server and to reportthe timing of each stage. It works as if multiple clients are accessing the server. mysqlslap isavailable as of MySQL 5.1.4.
下面介绍一些常见参数:
–auto-generate-sql-write-number每个线程中产生多少个insert
–auto-generate-sql-guid-primary自动产生guid格式的主键
–number-of-queries=50000每个连接客户端总共发起的查询次数
–concurrency=10,50,100并发连接线程数,分...

mysql show status详解

Aborted_clients
指出由于某种原因客户程序不能正常关闭连接而导致失败的连接的数量。如果客户不在退出之前调整mysql_close()函数,wait_timeout或interactive_timeout的限制已经被超出,或者是客户端程序在传输的过程中被关闭,则这种情况会发生。
Aborted_connects
指出试图连接到MYSQL的失败的次数。这种情况在客户尝试用错误的密码进行连接时,没有权限进行连接时,为获得连接的数据包所花费的时间超过了connect_timeout限制的秒数,或数据包中没有包含正确的信息时,都会发生。

解决SQLDMO.SQLServer 库没有注册

在执行一段sql2005备份脚本时出错

刚开始还以为是卸载了WSHom.Ocx造成的,重新注册WSHom.Ocx后问题依然。找了部分资料,发现是SQLDMO.SQLServer库文件出了问题。
解决:
于是搜索找到SQLDMO.DLL文件,我的在D:\Program Files\Microsoft SQL Server\80\Tools\binn\SQLDMO.DLL 于是注册:
regsvr32 msxml6.dll
regsvr32 msxml3.dll
regsvr32  "D:\Program Files\Microsoft SQL Server\80\Tools\binn\SQLDMO.DLL"
再次执行,OK。
如果没有SQLDMO.DLL文件,修复安装SQLServer2005_SSMSEE.msi

...

ORA-01102: cannot mount database in EXCLUSIVE mode

ORA-01102: cannot mount database in EXCLUSIVE mode
今天在STARTUP一数据库时,发生如下错误:
SQL> conn /as sysdbaConnected to an idle instance.SQL> startupORACLE instance started.Total System Global Area  276824064 bytesFixed Size                   778736 bytesVariable Size             137371152 bytesDatabase Buffers          138412032 bytesRedo Buffers              […]

...

ORA-01078和LRM-00109错误解决方法

创建实例后,进入sqlplus启动报错:
sqlplus  / as sysdba;
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Aug 5 16:48:56 2009Copyright (c) 1982, 2007, Oracle.  All rights reserved.Connected to an idle instance.SQL> startup;ORA-01078: failure in processing system parametersLRM-00109: could not open parameter file ‘/oracle/product/11.1.0/dbs/initorcl.ora’SQL> exit
这是因为在oracle9i和oracle10g中,数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决方法:
将$ORACLE_BASE/admin/数据库名称/pfile目录...

mysqldump: Got error: 1044: Access denied…when using LOCK TABLES

mysql使用普通用户备份出现:
[root@xok.la]# mysqldump -u dbuser -ppass db > db.sql
mysqldump: Got error: 1044: Access denied for user ‘dbuser’@'localhost’ to database ‘db’ when using LOCK TABLES
解决一:
加上-skip-lock-tables选项即可。即:
[root@xok.la]# mysqldump -u dbuser -ppass db –skip-lock-tables > db.sql
解决2:
使用root账户备份。

...

[Microsoft][ODBC SQL Server Driver][SQL Server]在 sys.servers 中找不到服务器

这个问题一般存在于sql2005更换服务器后。直接复制的数据库物理文件最多。内部的主机名变更导致。
现象一:
Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005′ [Microsoft][ODBC SQL Server Driver][SQL Server]在 sys.servers 中找不到服务器 ‘xok.la’。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。 /fcj/inc/sql.asp,行 186
现象二:
Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005′ [Microsoft][ODBC SQL Server Driver][S...