linux个人心得23 (mysql②)

张开发
2026/5/19 0:01:12 15 分钟阅读
linux个人心得23 (mysql②)
数据的导入与导出mysqldump是一个 MySQL 自带的工具它可以生成一个包含CREATE TABLE和INSERT INTO等 SQL 语句的.sql文件。这个文件就是数据库的 “逻辑备份”因为它包含了重建数据库所需的所有 SQL 命令。导出的基本语法mysqldump -u root -p game game.sql这是linux上使用的命令这个-p后也可以直接跟我们的密码但是不建议这样用因为直接在上面输入密码会在历史命令里面暴露所以用如上指令会进入交互式输入密码界面这样就可以防止密码暴露常用导出场景示例示例 1导出整个数据库mysqldump -u root -p mydatabase mydatabase_backup.sql这是最常见的操作备份一个完整的数据库包括所有表结构和数据。示例 2导出数据库中的特定几个表mysqldump -u root -p mydatabase users orders tables_backup.sql如果你只需要备份users和orders这两个表。示例 3仅导出数据库结构不包含数据mysqldump -u root -p --no-data mydatabase mydatabase_schema.sql这在需要复制数据库结构到另一个环境时非常有用。示例 4导出所有数据库mysqldump -u root -p --all-databases all_databases_backup.sql这个导出的文件会包含CREATE DATABASE和USE语句导入时会更方便。示例 5生产环境推荐的导出命令mysqldump -u root -p \--single-transaction \--routines \--triggers \--master-data2 \mydatabase mydatabase_prod_backup.sql在对线上业务特别是使用 InnoDB 存储引擎的进行备份时需要考虑数据一致性并备份存储过程、函数等。--single-transaction: 在导出开始时创建一个事务。这可以保证在导出期间的数据是一致的快照并且不会锁住表对线上业务影响最小仅对 InnoDB 有效。--routines: 导出存储过程和函数。--triggers: 导出触发器。--master-data2: 在备份文件中记录二进制日志binary log的位置。这对于设置主从复制replication至关重要。示例 6导出并压缩·mysqldump -u root -p mydatabase | gzip mydatabase_backup.sql.gz为了节省磁盘空间通常会将导出的 SQL 文件进行压缩。导入的基本语法数据导入就是执行mysqldump生成的.sql文件也就是我们导出的文件内容大差不差方式一使用重定向符(最常用)mysql -u [用户名] -p[密码] [目标数据库名] [要导入的文件名.sql]

更多文章