MYSQL系列常用命令三(导入导出命令、系统参数、系统函数)

系列文档参考 MYSQL系列-整体架构介绍 本文紧接上一章MYSQL系列-常用命令二(索引、视图、存储过程、事务、数据类型)

本章主要列举MYSQL日常使用过程中用到的一些命令,主要用于总结和后续使用时可以快速查阅

导入导出命令

mysqldump

  • 导出所有库数据:mysqldump -uroot -p密码 --all-databases > 备份文件名.sql

mysql@TOBY-HYW:~/mysql3306/bin$ ./mysqldump -uroot -p1Qaz1Qaz -S /home/mysql/mysql3306/mysqld.sock --all-databases > temp.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
Warning: A dump from a server that has GTIDs enabled will by default include the GTIDs of all transactions, even those that were executed during its extraction and might not be represented in the dumped data. This might result in an inconsistent data dump.
In order to ensure a consistent backup of the database, pass --single-transaction or --lock-all-tables or --master-data.
  • 导出部分库数据:mysqldump -uroot -p密码 --databases > 备份文件名.sql
mysql@TOBY-HYW:~/mysql3306/bin$ ./mysqldump -uroot -p1Qaz1Qaz -S /home/mysql/mysql3306/mysqld.sock --databases toby > temp.sql
  • 导出MySQL单库中的一部分表数据:mysqldump –u 用户名 –h主机名 –p密码 库名 [表名1,表名2...]> 备份文件名.sql
mysql@TOBY-HYW:~/mysql3306/bin$ ./mysqldump -h127.0.0.1 -P3306 -uroot -p1Qaz1Qaz -S /home/mysql/mysql3306/mysqld.sock toby t1 > temp.sql
  • 其他命令
-- 导出MySQL单表的部分数据(使用 --where 参数) 
mysqldump -u用户名 -p 库名 表名 --where="条件" > 备份文件名.sql 
-- 排除某些表,导出库中其他的所有数据(使用 --ignore-table 参数) 
mysqldump -u用户名 -p 库名 --ignore-table=表名1,表名2... > 备份文件名.sql 
-- 只导出表的结构(使用 --no-data 或者 -d 选项) 
mysqldump -u用户名 -p 库名 --no-data > 备份文件名.sql 
-- 只导出表的数据(使用 --no-create-info 或者 -t 选项) 
mysqldump -u用户名 -p 库名 --no-create-info > 备份文件名.sql 
-- 导出包含存储过程、函数的库数据(使用--routines 或者 -R选项) 
mysqldump -u用户名 -p -R --databases 库名 > 备份文件名.sql 
-- 导出包含事件(触发器)的库数据(使用 --events 或者 -E选项) 
mysqldump -u用户名 -p -E --databases 库名 > 备份文件名.sql

mysql

  • 导入数据,数据库DB级别:mysql -u用户名 -p < xxx.sql
  • 导入数据,表级别:mysql -u用户名 -p 库名 < xxx.sql
mysql@TOBY-HYW:~/mysql3306/bin$ ./mysql -uroot -p -S /home/mysql/mysql3306/mysqld.sock toby  "数据存放目录/xxx.txt"

mysql@TOBY-HYW:~/mysql3306/bin$ ./mysql -uroot -p1Qaz1Qaz -S /home/mysql/mysql3306/mysqld.sock -e"use toby;select id,b,c from t1 where id  temp.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql@TOBY-HYW:~/mysql3306/bin$ cat temp.sql
id      b       c
1       1       1
5       5       5