网络上查了一下,大概都是:"想把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有谁遇到过这种情况能帮我解答一下?mysql

解决方案 »

  1.   

    最好用MYSQLDUMP备份后,再修改MY。INI中
    basedir="D:/MySQL55/"
    datadir="D:/MySQL55/Data/"
    中的位置不同库存于不同的硬盘目录
    貌似WINDOWS下不行
      

  2.   

    变通一下,利用分区把单个表放在不同的文件系统是可以。
    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');
      

  3.   

    在LINUX下是可以的,貌似WINDOWS下不行
      

  4.   

    我还没有在Windows下安装过MySQL,这两天试试,是不是文件访问权限问题?也许你没有安装分区特性,你用SHOW VARIABLES LIKE '%partition%';看看,不过这种分区方案确实比较麻烦,对很多场合都有限制。
      

  5.   

    WINDOWS下只能把所有的数据全部指向同一目录,无法不同数据库放置不同目录。UNIX、LINUX下可以通过符号链接实现。
      

  6.   

    查了一下,在Windows下面可以用mklink建立符号连接,具体你再试试,应该可以
      

  7.   

     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\mydbAfter this, all tables created in the database mydb are created in D:\data\mydb.