是否可以将MySQL中的每个数据库设置为使用单独的datadir?
我正在运行userdir开发(沙盒)服务器,并希望将该用户的数据库的MySQL数据文件放在/ home /< user> / mysql目录中.
> Linux Ubuntu Server 10.4
> MySQL服务器版本:5.1.41
>存储引擎类型:InnoDB
你会怎么做?
解决方法:
你可以玩带符号链接的游戏.
警告:以下内容仅适用于启用innodb_file_per_table
例如,假设您的datadir是/ opt / mysql / data.每个数据库都位于该文件夹下.如果您有三个数据库(db1,db2,db3),则文件夹为:
> / opt / mysql / data / db1
> / opt / mysql / data / db2
> / opt / mysql / data / db3
在做任何事情之前运行此查询:
mysql> select table_schema,table_name from information_schema.tables
where table_schema in ('db1','db2','db3');
让我们从创建临时数据库开始
mysql> create database tmpdb1;
mysql> create database tmpdb2;
mysql> create database tmpdb3;
接下来,让我们将每个具有db1的表移动到tmpdb1,将db2移动到tmpdb2,将db