如何将某个库的存储位置改动,及不同库存于不同的硬盘目录?

flairsky 2013-02-27 04:32:16
网络上查了一下,大概都是:

"想把mysql的数据库文件移动到别的盘符下去!查了下手册,发现还真可行!
需求,将现有的名为db_sys的数据库文件移植到e:去!
首先在E盘中创建一个名为db_sys(数据库名)的文件夹,将现在已有的数据库文件(在mysql安装目录的/data目录下可以找到数据库所对应的库文件,这里是一个叫做db_sys的目录)都移到e:\db_sys目录下去,这时可以删除data\db_sys目录了,在data目录下建立一个db_sys.sym的文本文件,内容为e:\db_sys,okay了!"


但是按照这个去测试,发现完全没效果!

用SHOW VARIABLES LIKE '%sym%'
返回结果
have_symlink yes

应该是可以的。

我的操作系统为winserver2008,mysql版本为5.5

有谁遇到过这种情况能帮我解答一下?
...全文
203 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
flairsky 2013-03-01
  • 打赏
  • 举报
回复
引用 14 楼 prolee750607 的回复:
Windows Vista, Windows Server 2008, or newer have native symbolic link support, so you can create a symlink using the mklink command. This command requires administrative privileges. ……
bingo,满分
flairsky 2013-03-01
  • 打赏
  • 举报
回复
引用 14 楼 prolee750607 的回复:
Windows Vista, Windows Server 2008, or newer have native symbolic link support, so you can create a symlink using the mklink command. This command requires administrative privileges. ……
嘿,你这方法我去试试,好像不一样
flairsky 2013-03-01
  • 打赏
  • 举报
回复
引用 14 楼 prolee750607 的回复:
Windows Vista, Windows Server 2008, or newer have native symbolic link support, so you can create a symlink using the mklink command. This command requires administrative privileges. ……
就是查了才发现不行
代码誊写工 2013-03-01
  • 打赏
  • 举报
回复
Windows Vista, Windows Server 2008, or newer have native symbolic link support, so you can create a symlink using the mklink command. This command requires administrative privileges. Change location into the data directory: C:\> cd \path\to\datadir In the data directory, create a symlink named mydb that points to the location of the database directory: C:\> mklink /d mydb D:\data\mydb After this, all tables created in the database mydb are created in D:\data\mydb.
代码誊写工 2013-03-01
  • 打赏
  • 举报
回复
查了一下,在Windows下面可以用mklink建立符号连接,具体你再试试,应该可以
代码誊写工 2013-02-28
  • 打赏
  • 举报
回复
引用 8 楼 WWWWA 的回复:
引用 6 楼 prolee750607 的回复:变通一下,利用分区把单个表放在不同的文件系统是可以。 create table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS……
我还没有在Windows下安装过MySQL,这两天试试,是不是文件访问权限问题?
引用 9 楼 flairsky 的回复:
这个早想过了,不太合适,而且也没成功,也不知道为什么,唉
也许你没有安装分区特性,你用SHOW VARIABLES LIKE '%partition%';看看,不过这种分区方案确实比较麻烦,对很多场合都有限制。
ACMAIN_CHM 2013-02-28
  • 打赏
  • 举报
回复
WINDOWS下只能把所有的数据全部指向同一目录,无法不同数据库放置不同目录。 UNIX、LINUX下可以通过符号链接实现。
flairsky 2013-02-28
  • 打赏
  • 举报
回复
引用 6 楼 prolee750607 的回复:
变通一下,利用分区把单个表放在不同的文件系统是可以。 create table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN (0) DATA DIRECTORY……
这个早想过了,不太合适,而且也没成功,也不知道为什么,唉
WWWWA 2013-02-28
  • 打赏
  • 举报
回复
引用 6 楼 prolee750607 的回复:
变通一下,利用分区把单个表放在不同的文件系统是可以。 create table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN (0) DATA DIRECTORY……
在LINUX下是可以的,貌似WINDOWS下不行
flairsky 2013-02-28
  • 打赏
  • 举报
回复
引用 10 楼 prolee750607 的回复:
引用 8 楼 WWWWA 的回复:引用 6 楼 prolee750607 的回复:变通一下,利用分区把单个表放在不同的文件系统是可以。 create table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)) PARTITION BY RANGE (id) (PARTITI……
能用第一种就不用考虑第二种方式,限制太多,也不方便
代码誊写工 2013-02-27
  • 打赏
  • 举报
回复
忘了写表名,抱歉
代码誊写工 2013-02-27
  • 打赏
  • 举报
回复
变通一下,利用分区把单个表放在不同的文件系统是可以。 create table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN (0) DATA DIRECTORY = '/disk2/data' INDEX DIRECTORY = '/disk2/idx');
WWWWA 2013-02-27
  • 打赏
  • 举报
回复
呵呵,实践出真知
flairsky 2013-02-27
  • 打赏
  • 举报
回复
引用 1 楼 wwwwb 的回复:
最好用MYSQLDUMP备份后,再修改MY。INI中 basedir="D:/MySQL55/" datadir="D:/MySQL55/Data/" 中的位置 不同库存于不同的硬盘目录 貌似WINDOWS下不行
最烦的就是手册上说行,网络上好多也说行,可就是弄不出来。
flairsky 2013-02-27
  • 打赏
  • 举报
回复
引用 2 楼 rucypli 的回复:
没这么干过 不同的库本来就会生成不用的文件夹 为什么要放到不同的目录呢
因为库用途不同,会用不同介质存储
rucypli 2013-02-27
  • 打赏
  • 举报
回复
没这么干过 不同的库本来就会生成不用的文件夹 为什么要放到不同的目录呢
wwwwb 2013-02-27
  • 打赏
  • 举报
回复
最好用MYSQLDUMP备份后,再修改MY。INI中 basedir="D:/MySQL55/" datadir="D:/MySQL55/Data/" 中的位置 不同库存于不同的硬盘目录 貌似WINDOWS下不行

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧