mysql ibdata1文件的缩小
mysql ibdata1文件的缩小(2009-12-22 15:29:46)
标签:it
mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。
如果不把数据分开存放的话,这个文件的大小很容易就上了G,甚至10+G。对于某些应用来说,并不是太合适。因此要把此文件缩小。
方法:数据文件单独存放。
步骤:
1,备份数据库
从命令行进入MySQL Server 5.0\bin
备份全部数据库,执行命令mysqldump -q -uusername -pyourpassword --add-drop-table -all-databases > /all.sql
做完此步后,停止数据库服务。
2,修改mysql配置文件
修改my.ini文件,增加下面配置
innodb_file_per_table
对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件
3,删除原数据文件
删除原来的ibdata1文件及日志文件ib_logfile*,删除data目录下的应用数据库文件夹(mysql文件夹不要删)
4,还原数据库
启动数据库服务
从命令行进入MySQL Server 5.0\bin
还原全部数据库,执行命令mysql -uusername -pyourpassword < /all.sql
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。
相关文档:
1)、去sun的官网下载一个mysql的压缩包,我下载的是mysql-noinstall-5.5.0-m2-win32.zip。
2)、把上面下载的压缩包解压到:D:\Program Files\mysql下面。
3)、在 D:\Program Files\mysql\ 中找 my-large.ini 把它复制成 my.ini。
4)、在 my.ini 中找 [mysqld] ,添 ......
想写这样一篇文章很久了,但始终没有下手。最近帮同事看了几个查询,而且自己也在考虑一个索引系统的问题,所以今天就把这个写了。介绍一下MySQL的索引机制,还有一些MySQL查询的优化策略。鄙人才疏学浅,很可能说的不对,请路过的各位大侠批评指正,献丑了。
------------------- jiajun.org 官方分割线 ---------------- ......
MySQL中用select实现TOP N功能
先说几个关键字:
distinct 返回不重复的多列
count() 计数
limit m,n 第m个起n个
那么,如果需要查找名为col的某一个列的Top N,并列出对应的值的select语句就如下:
select dinstinct(col),count(col) from tablename group by 1 order  ......
mysql服务器安装配置:
1. sudp apt-get install mysql-server-5.0
2. 创建库second_proxy, 为secProxy添加用户:grant all privileges on second_proxy.* to secProxy@'%' identified by 'passwd';
3. 设置mysql.user表如下:
+-----------+------------------+-------------------------------------------+
| Host& ......