常用命令--数据库备份--mysqdump

常用命令--数据库备份--mysqdump

常用选项

mysqldump是MySQL数据库的一个重要工具,用于创建数据库的逻辑备份。以下是mysqldump的一些常用选项及其功能:

1. -u username 或 --user=username:指定连接MySQL服务器的用户名。

2. -p 或 --password: 提示输入密码。也可以直接跟在 -u 后面,如 -u root -pPassword(不推荐这种方式,因为密码会在命令行历史记录中可见)。

3. -h hostname 或 --host=hostname:指定数据库服务器的主机名或IP地址。

4. -P port 或 --port=port_number:指定数据库服务器监听的端口号。

5. -S socket 或 --socket=path_to_socket:指定Unix套接字文件的路径,用于本地连接。

6. --databases 或 -B:用于备份多个数据库,后面跟数据库列表。

7. -A 或 --all-databases:备份所有数据库。

8. --single-transaction:在导出数据前启动一个事务,保证在导出期间数据一致性(InnoDB引擎适用)。

9. --lock-all-tables 或 -l:锁定所有表以确保数据一致性,但在大型数据库中可能会影响性能。

10. --no-create-info:仅导出数据,不包含创建表结构的SQL语句。

11. --no-data:仅导出表结构,不包含数据。

12. --triggers:包含触发器的定义。

13. --routines 或 -R:包含存储过程和函数。

14. --events:包含事件调度器的事件定义。

15. --quick 或 --opt(默认启用):优化mysqldump的速度和效率,包括几个子选项,如--extended-insert、--add-drop-table等。

16. --master-data=[0|1|2]:记录binlog的位置信息,便于恢复后进行主从同步。

17. --skip-triggers:不导出触发器。

18. --compress 或 -C:通过压缩协议发送和接收数据。

19. --quote-names:引用所有的数据库、表和列名。

20. --result-file=file_name 或 -r file_name:将输出写入指定文件,而不是标准输出。

21. --ignore-table=db_name.tbl_name:忽略特定数据库中的某个表。

以上只是mysqldump部分常用选项,实际使用时请根据具体需求选择合适参数。记得结合MySQL的安全最佳实践,尤其是在生产环境中备份数据库时,避免因操作不当导致的数据丢失或泄露。

mysqdump

mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。

语法
mysqldump(选项)


选项
--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;
--add-locks:备份数据库表时锁定数据库表;
--all-databases:备份MySQL服务器上的所有数据库;
--comments:添加注释信息;
--compact:压缩模式,产生更少的输出;
--complete-insert:输出完成的插入语句;
--databases:指定要备份的数据库;
--default-character-set:指定默认字符集;
--force:当出现错误时仍然继续备份操作;
--host:指定要备份数据库的服务器;
--lock-tables:备份前,锁定所有数据库表;
--no-create-db:禁止生成创建数据库语句;
--no-create-info:禁止生成创建数据库库表语句;
--password:连接MySQL服务器的密码;
--port:MySQL服务器的端口号;
--user:连接MySQL服务器的用户名。



实例
导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u niaoge -p smgp_apps_niaoge > niaoge.sql
导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u niaoge -p smgp_apps_niaoge users > niaoge_users.sql
导出一个数据库结构

mysqldump -u niaoge -p -d --add-drop-table smgp_apps_niaoge > niaoge_db.sql
-d没有数据,--add-drop-table每个create语句之前增加一个drop table




posted @ 2024-03-25 11:16  三思博客  阅读(89)  评论(0编辑  收藏  举报