mysql proxy的常见问题
最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。
无法通过mysql proxy连接mysql
在host,password正确的情况下,也会遇到无法连接mysql的情况,可以查查mysql server是不是使用了old_password,检查my.cnf里面是不是有
PLAIN TEXT
最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。
无法通过mysql proxy连接mysql
在host,password正确的情况下,也会遇到无法连接mysql的情况,可以查查mysql server是不是使用了old_password,检查my.cnf里面是不是有
PLAIN TEXT
mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。
安装步骤
安装memcached,这个步骤很简单,随处可见
mysql下可以用批处理模式运行SQL,比如:
shell> mysql -h host -u user -p < batch-file.sql
Enter password: ********
但是平常往往需要在执行sql的同时,运行一些shell脚本进行进一步计算,保存日志之类的。这个可以靠mysql的system命令来实现,例如:
平常执行sql,需要登录到mysql的shell下,然后再执行。比如:
$ /usr/bin/mysql -u root
mysql> select * from users;
但是如果写一点简单的脚本,也可以在命令行下直接运行sql并显示结果,比如:
PDO_MYSQL是PHP Data Objects (PDO) interface的一个mysql扩展。仔细看看php手册上面,其实还是有些有趣的参数可供使用,例如:
PDO::MYSQL_ATTR_INIT_COMMAND (integer)
Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.
当我使用PDO_MYSQL连上mysql以后,可以利用这个参数自动执行一些QUERY。最常见的使用场合是连接mysql使用utf-8字符集:
Sun公司(NASDAQ: JAVA) 今日发表声明称,出资10亿$收购Mysql AB,希望能够籍此在数据库市场分得一大杯羹。现如今,已经有相当一部分大公司使用mysql,比如Facebook, Google, Nokia, Baidu and China Mobile,mysql作为一个open source databases,取得这样的成绩实属不易。Sun的这一收购行为,不仅能在数据库市场同oracle,microsoft以及ibm形成有力竞争,更能和它的其它开源产品一起,巩固Sun在开源世界的地位。
MySQL Proxy的Alpha版本发布。下面是官方的介绍。
What is MySQL Proxy?
MySQL Proxy is a simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication. Its flexibility allows for unlimited uses; common ones include: load balancing; failover; query analysis; query filtering and modification; and many more.
首先贴两张php的小卡通,不是太喜欢美式风格的画风。
这张漫画是一头大象正在烧烤海豚。php的传统logo是一头大象,而mysql一贯是以海豚作为标志的,那么这幅图说的是php化身的大象正在大力烧烤mysql dophin?
其实是PostgreSQL在烘烤可怜的Mysql,面目憎狞.
UPDATE:FOUND_ROWS()函数貌似还存在一些问题,见http://bugs.mysql.com/bug.php?id=18454
mysql 4.1中新增了FOUND_ROWS()函数,这个函数的说明是这样的:
For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clause
A SELECT statement may include a LIMIT clause to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the LIMIT, but without running the statement again. To obtain this row count, include a SQL_CALC_FOUND_ROWS option in the SELECT statement, and then invoke FOUND_ROWS() afterward:
这天在一台redhat的机器上安装php 5.2+pdo_mysql,走了些弯路,浪费了不少时间.记录一下:
首先我按照之前记录的手册安装php,参数上有些变化,configure参数增加了--with-pdo=shared --with-pdo-mysql=shared
最后得到一些错误提示:
checking for MySQL support for PDO... yes, shared