mysql的备份和还原

mysql备份命令

mysqldump -h localhost -u 用户名 -p  -P 端口号 数据库名称 > 备份文件名.sql

mysqldump 是一个用于从 MySQL 数据库中导出数据库或表的内容的命令行工具。以下是一些常用的 mysqldump 参数:
–all-databases 或 -A:
导出所有数据库。
–databases 或 -B:
指定要导出的数据库列表。例如:–databases db1 db2 会导出 db1 和 db2 两个数据库。
–tables:
覆盖 --databases 或 --all-databases 选项,只导出指定的表(需要指定数据库名)。例如:–tables db1 table1 table2 会从 db1 数据库中导出 table1 和 table2 两个表。
–events
用于在导出数据库时包含事件(Events)。
–routines
包含存储过程和函数
–triggers
包含触发器
–no-data
仅导出表结构而不包含数据
–add-drop-database:

在每个 CREATE DATABASE 语句之前添加一个 DROP DATABASE 语句。
–add-drop-table:
在每个 CREATE TABLE 语句之前添加一个 DROP TABLE 语句。默认启用。
–add-locks:
在每个表导出之前添加 LOCK TABLES 语句,在导出后添加 UNLOCK TABLES 语句。默认启用。
–complete-insert 或 -c:
使用完整的 INSERT INTO 语句(包含列名)。这样可以让导出的 SQL 文件更加清晰,且可以在表结构变更后仍然能够正确地导入数据。
–compact:
生成更短的 INSERT 语句,省略列名和值周围的引号。
–extended-insert 或 -e:
使用多行 INSERT 语句格式,这通常可以加速数据的导入。
–hex-blob:
将 BLOB 和 BINARY 列数据以十六进制格式导出。
–lock-tables:
为每个导出的表加锁,以确保数据的一致性。默认启用。
–no-autoload-with-hash-index:
禁用默认的哈希索引自动加载。这通常用于大型数据库,以减少内存使用。
–no-create-db:
不输出 CREATE DATABASE 语句。
–no-create-info:
不输出 CREATE TABLE 语句,只导出数据。
–no-data:
不导出数据,只输出数据库和表的创建语句。
–password[=password] 或 -p[password]:
连接数据库时使用的密码。如果不提供密码,则命令会提示用户输入。
–port=port_num 或 -P port_num:
用于连接的 TCP/IP 端口号。
–protocol={TCP|SOCKET|PIPE|MEMORY}:
使用的连接协议。
–quick 或 -q:
强制 mysqldump 在输出中每次写入一行。这有助于在导入大表时提高速度。
–result-file=file 或 > file:
将输出保存到指定的文件。
–single-transaction:
对于支持事务的数据库,该选项可以确保在单个事务中导出数据,以保持数据的一致性。这通常与 --lock-tables=false 一起使用。
–skip-extended-insert:
不使用多行 INSERT 语句格式,而是为每个记录生成单独的 INSERT 语句。
–skip-lock-tables:
在导出过程中不锁定表。
–user=user_name 或 -u user_name:
连接数据库时使用的用户名。
–where=where_condition:
只导出满足特定条件的记录。
这些只是 mysqldump 命令的一部分常用参数,具体使用时可以根据需要选择合适的参数组合。为了获取完整的参数列表和详细说明,可以在命令行中输入 mysqldump --help。

还原命令

# 基本格式
mysql -u [用户名] -p[密码] [数据库名] < [备份文件名].sql
# 如果你需要还原到一个新数据库,需要先创建这个数据库:
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS newdatabase"
# 然后,执行还原命令:
mysql -u root -p newdatabase < mydatabase_backup.sql
  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烤鱼骑不快

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值