Mysql 数据库导入导出比较快的方式

December 17, 2023
测试
测试
测试
测试
1 分钟阅读

1、备份原来数据库表结构,在新库中恢复表结构,必须跟原库一模一样,包括索引等。

2、在原库上flush table,会生成一个cfg文件

SELECT
CONCAT(
    'flush table ',
    Group_concat(aa.table_name),
    ' for export;'
)
FROM
(
    SELECT
        CONCAT(
            TABLE_SCHEMA,
            '.',
            TABLE_NAME
        ) AS table_name
    FROM
        information_schema. TABLES
    WHERE
        TABLE_SCHEMA = '数据库名'
) aa

3、在新库中执行以下语句,删除新库的.ibd数据文件

alter table 表名 discard tablespace;

4、将原库上的表的.ibd文件和.cfg文件传输到新库

scp -r 老数据库服务器用户名@老数据库服务器ip:老数据库文件路径  新数据库路径
如:
scp -r root@127.0.0.1:/mysql/data/wang/table.ibd /mysql/data/wang

5、原库解锁表,会删除.cfg文件

unlock tables;

6、新库修改文件权限,数据文件抽过来之后默认为 root 权限,改为 mysql 权限

chown -R mysql.mysql *

7、在新库中执行以下语句,导入新抽取的数据文件

alter table 表名 import tablespace;

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多