免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1028 | 回复: 0
打印 上一主题 下一主题

mysql使用经验(1) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:53 |只看该作者 |倒序浏览
mysql一些使用经验

--mysql注释符有三种:
 1、#... 2、"-- ..." 3、/*...*/

--why "alter table mytable delay_key_write=1;" rebuild the whole tables?and how to tunning it?
该参数为1后将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。在关闭表的时候一起跟新索引到磁盘。 只对MyISAM引擎表有作用。

--在某些情况下,不重建表而更改表结构(超大表)
在同步缓存并锁表后直接替换.frm文件
mysql> FLUSH TABLES WITH READ LOCK;
mysql> ^Z
更新.frm文件 fg切换为mysql命令行
mysql> UNLOCK TABLES;
(备注:1.该方法适用的情况 Enum values (add and remove),Default values change,
      2.try this at your own risk.)
参考链接
http://www.mysqlperformanceblog.com/2007/10/29/hacking-to-make-alter-table-online-for-certain-changes/

--复位根用户密码?
  A:kill `cat /mysql-data-directory/host_name.pid`
     echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');">/var/lib/mysql/initfile
mysqld_safe --init-file=initfile &

--mysql 去掉表注释与列注释
  sed -i -e "s%COMMENT\ '.*\,$%\,%g" test.sql
  sed -i -e "s%COMMENT\='.*\;$%\;%g" test.sql

--连接
cross join 是笛卡儿乘积 就是一张表的行数乘以另一张表的行数
left join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
full join 返回两张表中的行 left join+right join
inner join 只返回两张表连接列的匹配项

--更改客户端连接超时时间。
需要同时更改 wait_timeout interactive_timeout

--CHECK TABLE语句和MYISAMCHK程序的区别:
对于读写一致性不需要/需要人工干预
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP