【原创】 Window7 mysql…

来源:互联网 发布:js二维数组排序函数 编辑:程序博客网 时间:2024/05/22 00:46
有一种说法,在C:\Program Files\MySQL\MySQL Server 5.5\my.ini中添加 innodb_file_per_table = 1,设置分表存储。
我尝试了一下,确实可以,data文件中每张表多了一个.ibd的数据文件(但是不能移动到别的地方用,可以用,还没研究)

然后考虑了innodb和myisam引擎的区别
首先它们存储位置都默认位于 C:\ProgramData\MySQL\MySQLServer 5.5\data
【原创】 <wbr>Window7 <wbr>mysql <wbr>数据库创建到指定文件

innodb 默认数据默存放于ibdata1、ibdata2之类文件中,索引数据都在这里存放,所有的数据库、表都存放在这个文件中。一个很大的缺点,不仅不方便分库管理,而且当你删除数据时,这个文件并不会减少...它只有增,没有减。对应数据库名文件夹下只有.opt是库编码,.frm为表结构 
MyIsam 默认数据在对应数据库名文件夹下,.opt是库编码,.frm为表结构,.MYD为表数据,.MYI是表索引文件.

知道了这个,可以利用MyIsam文件结构存放数据库文件。
1.修改C:\Program Files\MySQL\MySQLServer 5.5\my.ini 配置文件

#Path to the database root
#datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
#将默认文件路径修改为你的硬盘目录,确保目录已存在
datadir="H:/mysql-data/"

# The default storage engine that will be used when create newtables when
#default-storage-engine=INNODB
default-storage-engine=MYISAM
#修改数据库建表的时候默认引擎为MyIsam

保存my.ini

按开始或者Win键,输入cmd,然后鼠标右键,以管理员权限运行,
【原创】 <wbr>Window7 <wbr>mysql <wbr>数据库创建到指定文件

停止mysql服务:net stop mysql
开启mysql服务:net startmysql
一定要以管理员权限运行,会报错。《windows下重启mysql》
但是还是会报错
windows mysql 修改datadir 后 提示:
MySQL服务无法启动。 
系统出错。 
发生系统错误 1067
这种情况是因为mysqlmysql数据库不存在的原因,进入到H:/mysql-data/ 可以看到
ib_logfile0  ib_logfile1 ibdata1  zhipeng-PC.err文件已经存在,缺少mysql 文件夹,回“C:\ProgramData\MySQL\MySQL Server5.5\data”将mysql 和 performance_schema 都拷贝到 “H:/mysql-data/
重新运行 net start mysql
mysql就成功启动了,如果C盘下的ibdata没有你需要保留的数据,直接删了就可以。
然后建库、建表什么的,数据文件都会保存在硬盘了,数据库文件可以直接移动。
0 0
原创粉丝点击