暂无图片
如何把系统表空间迁移到自定义表空间?
我来答
分享
Switchblade
2023-09-14
如何把系统表空间迁移到自定义表空间?

如何把系统表空间迁移到自定义表空间?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
大大刺猬

你不是要迁移到系统表空间么, 咋又要迁移出来了呢.
官网都有的, 你可以看下官网的DDL语法: https://dev.mysql.com/doc/refman/8.0/en/create-tablespace.html
参考命令

-- 创建表空间(未指定路径就是@@datadir下面)
create tablespace t1 add datafile 't1.ibd' engine=innodb;

-- 迁移表空间
alter table t1 tablespace t1;
复制

效果图
image.png

(root@127.0.0.1) [db20232]> show create table t1;
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                        |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) /*!50100 TABLESPACE `innodb_system` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

(root@127.0.0.1) [db20232]> create tablespace t1 add datafile 't1.ibd' engine=innodb;
Query OK, 0 rows affected (0.00 sec)

(root@127.0.0.1) [db20232]> alter table t1 tablespace t1;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

(root@127.0.0.1) [db20232]> show create table t1;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                             |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) /*!50100 TABLESPACE `t1` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

(root@127.0.0.1) [db20232]> select @@datadir;
+-----------------------------+
| @@datadir                   |
+-----------------------------+
| /data/mysql_3308/mysqldata/ |
+-----------------------------+
1 row in set (0.00 sec)

(root@127.0.0.1) [db20232]> system ls -ahrlt /data/mysql_3308/mysqldata/t1.ibd
-rw-r----- 1 mysql mysql 96K Sep 14 09:13 /data/mysql_3308/mysqldata/t1.ibd
(root@127.0.0.1) [db20232]> 

复制

如果要指定路径的话就是:

create tablespace tmpt1 add datafile '/tmp/t1.ibd' engine=innodb;
复制
暂无图片 评论
暂无图片 有用 3
打赏 0
暂无图片
Switchblade
题主
2023-09-14
混经验...
大大刺猬
答主
2023-09-14
啊, 这..... -_-
virvle
2023-09-14
好详细,用心了
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL手动注册binlog文件造成主从同步异常,怎么解决?
回答 1
没有错误信息吗?
为什么MYSQL 8.0.27 MYSQL.EVENT; 表不存在?
回答 2
已采纳
是的已经没有了。在5.7的官方手册里还能看到可以通过myslq.event获取event的metadata,在8.0中已经删掉了,我猜意思是通过informaitonschema.events表已经能
硬盘Random读写速度对MySQL数据库业务有影响吗?
回答 1
有影响https://blog.51cto.com/u508239/223542http://blog.itpub.net/30310891/viewspace2787997/
mysql怎么查找库中只有主键没有二级索引的表??
回答 1
SELECTDISTINCTTABLENAMEFROMINFORMATIONSCHEMA.STATISTICSWHERETABLESCHEMA‘yourdatabasename’–替换为你的数据库名A
请教使用ogg同步mysql数据到kafka的问题
回答 1
我理解下来:配置extract里直接指定mysqlbin.index就可以了。mysqlbin.index记录着binlog文件的路径,自动回去抽取。并保存相关信息
MySQL都有哪些读写分离的方案?
回答 7
已采纳
像官方的MySQLRouter,第三方的Proxysql、MaxScale、ShardingProxy给你一个参考https://www.modb.pro/doc/90645
程序读mysql 只能读1000条 ,怎么解决?
回答 3
程序里面写了分页框架吧,默认传了1000条吧
系统运行时,慢sql大多是锁等待造成,这种情况是需要修改业务逻辑吗?
回答 1
已采纳
先优化慢查询sql,如果没用,再修改业务逻辑。
搭建主从后,备库启动复制,报错error 1396 ,' operation create user failed for 'zhang'@'%' on query default database;mysql
回答 1
在从库执行flushprivileges;再重新startslave
有什么免费好用,易配置的从MYSQL 同步数据 到 (MYSQL,REDIS,CLICKHOUSE,ES)的?
回答 2
ai回答的SymmetricDS:支持从MySQL到多个其他数据库(包括Redis、ClickHouse、Elasticsearch)的同步,具有可视化界面和易于使用的配置。mysqltoredis: