Archive for the ‘mysql 数据库’ Category
DBA notes 的 Fenng 老大发了一篇为 MySQL 选择更合适的硬件的文章,我转摘过来,并根据自己的使用习惯做了点评.以下部分,红色字体为我的话.
-------------------------------------------- 分割线 ----------------------------------------
MySQL 爱好者关注的 2008 MySQL Conference & Expo 落幕后,很多文档都能看到了。今天读了一下这篇 Scaling Out MySQL: Hardware Today and Tomorrow。感兴趣的朋友也不防下载下来研究一下。
用什么样的硬件做 MySQL ,真不是三言两语能说清楚的。不过该讲座中还是能总结出来几点关键点的。
CPU 选择
首先如有可能就选择 64 位CPU,这样才可以安装 64 位操作系统,有了 64 位操作系统才能利用好更大的内存。如果非要抬杠的话,不是 64 位芯片也可以安装 64 位操作系统,也就是 Intel 的 EM64T 的解决方案(这也是文档中没提及的) 。
我个人倒是比较喜欢 AMD 64 位 CPU 的,物美价廉,性能也不错。
注意: MySQL 在多核上的 Bug ...
No Comments »
January 24, 2008 | mysql 数据库
群里朋友的问题.表名叫test,结构如下
就是把ID为2,3...的值,使用一个SQL语句,直接改为dsf
用 update test set a=(select b from test where id='1') where 1
提示错误:
SQL execution error # 1093 Response from the database:
You can't specify target table 'test' for upadte in FROM clause
早上问过fluke,这句可以实现:
UPDATE test,
(
SELECT b AS sub_data
FROM test
WHERE Id = 1
)q1
SET test.b = q1.sub_data WHERE 1
再更新: (by耿勇)
update test as aa,test as bb ...
No Comments »
两台linux机器的mysql配置一模一样。
#mysqldump forum>forum.sql -u root -p
导出一个2.4G大的forum.sql文件,然后试图导入内网(192.168.0.8)的另一台机器时,出现问题
#mysql forum<forum.sql -u root -p -h 192.168.0.8
Enter password:
ERROR at line 1410: Unknown command '\['.
首先是怀疑有二进制,添加参数--hex-blob 再导,问题依旧。
再想也不可能是字符集什么呀 。
请教imysql,说是: 2边的max_allowed_packet设置的不一样.
明明是一样的,改大一些试试。16M改成64M,也不行。
最后拉到本机去,终于可以正常导入。
问题虽然解决,但根源是什么还是没弄懂。
哪个老师知道此问题的原因,请赐教。
最后,学到一个简单的服务器间复制库的办法。
mysqldump -hhost1 xx | mysql -hhost2
从host1导出库xx,然后写入host2
1 Comment »