Mysql怎么导入和导出备份的数据

45次阅读
没有评论

共计 3061 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要讲解了“Mysql 怎么导入和导出备份的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Mysql 怎么导入和导出备份的数据”吧!

导出
导出全库备份到本地的目录
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –lock-all-tables –add-drop-database -A db.all.sql

导出指定库到本地的目录(例如 mysql 库)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –databases mysql db.sql

导出某个库的表到本地的目录(例如 mysql 库的 user 表)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –tables mysql user db.table.sql

导出指定库的表 (仅数据) 到本地的目录(例如 mysql 库的 user 表, 带过滤条件)
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –no-create-db –no-create-info –tables mysql user –where= host= localhost db.table.sql

导出某个库的所有表结构
mysqldump -u $USER -p $PASSWD -h227.0.0.1 -P3306 –routines –default-character-set=utf8 –no-data –databases mysql db.nodata.sql

导出某个查询 sql 的数据为 txt 格式文件到本地的目录 (各数据值之间用 制表符 分隔)
例如 sql 为 select user,host,password from mysql.user;
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8 –skip-column-names -B -e select user,host,password from mysql.user; mysql_user.txt

导出某个查询 sql 的数据为 txt 格式文件到 MySQL 服务器.
登录 MySQL, 将默认的制表符换成逗号.(适应 csv 格式文件).
指定的路径,mysql 要有写的权限. 最好用 tmp 目录, 文件用完之后, 再删除!
SELECT user,host,password FROM mysql.user INTO OUTFILE /tmp/mysql_user.csv FIELDS TERMINATED BY ,

导入
恢复全库数据到 MySQL, 因为包含 mysql 库的权限表, 导入完成需要执行 FLUSH PRIVILEGES; 命令
第一种方法:
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8 db.all.sql

第二种方法:
登录 MySQL, 执行 source 命令, 后面的文件名要用绝对路径.
……
mysql source /tmp/db.all.sql;
恢复某个库的数据 (mysql 库的 user 表)
第一种方法:
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8 mysql db.table.sql

第二种方法:
登录 MySQL, 执行 source 命令, 后面的文件名要用绝对路径.
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
mysql source /tmp/db.table.sql;
恢复 MySQL 服务器上面的 txt 格式文件 (需要 FILE 权限, 各数据值之间用 制表符 分隔)
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
mysql LOAD DATA INFILE /tmp/mysql_user.txt INTO TABLE user ;
恢复 MySQL 服务器上面的 csv 格式文件 (需要 FILE 权限, 各数据值之间用 逗号 分隔)
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
mysql LOAD DATA INFILE /tmp/mysql_user.csv INTO TABLE user FIELDS TERMINATED BY ,
恢复本地的 txt 或 csv 文件到 MySQL
mysql -u $USER -p $PASSWD -h227.0.0.1 -P3306 –default-character-set=utf8
……
mysql use mysql;
# txt
mysql LOAD DATA LOCAL INFILE /tmp/mysql_user.csv INTO TABLE user;
# csv
mysql LOAD DATA LOCAL INFILE /tmp/mysql_user.csv INTO TABLE user FIELDS TERMINATED BY ,
注意事项

关于 MySQL 连接
-u $USER 用户名
-p $PASSWD 密码
-h227.0.0.1 如果连接远程服务器, 请用对应的主机名或者 IP 地址替换
-P3306 端口
–default-character-set=utf8 指定字符集
关于 mysql 参数
–skip-column-names 不显示数据列的名字
-B 以批处理的方式运行 mysql 程序. 查询结果将显示为制表符间隔格式.
-e 执行命令后, 退出
关于 mysqldump 参数
-A 全库备份
–routines 备份存储过程和函数
–default-character-set=utf8 设置字符集
–lock-all-tables 全局一致性锁
–add-drop-database 在每次执行建表语句之前, 先执行 DROP TABLE IF EXIST 语句
–no-create-db 不输出 CREATE DATABASE 语句
–no-create-info 不输出 CREATE TABLE 语句
–databases 将后面的参数都解析为库名
–tables 第一个参数为库名 后续为表名
关于 LOAD DATA 语法
如果 LOAD DATA 语句不带 LOCAL 关键字, 就在 MySQL 的服务器上直接读取文件, 且要具有 FILE 权限.
如果带 LOCAL 关键字, 就在客户端本地读取数据文件, 通过网络传到 MySQL.
LOAD DATA 语句, 同样被记录到 binlog, 不过是内部的机制.

感谢各位的阅读,以上就是“Mysql 怎么导入和导出备份的数据”的内容了,经过本文的学习后,相信大家对 Mysql 怎么导入和导出备份的数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计3061字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)