1. 备份整个数据库
mysqldump -uroot -p111111 -h127.0.0.1 --opt dbname > dbname.sql
2. 备份某个表
mysqldump -uroot -p111111 -h127.0.0.1 --opt dbname tablename > tablename.sql
mysqldump -u user -p pwd -h host dbname[tbname,[tbname...]]>filename.sql
–opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使用Mysqldump导出My
sql数据库信息时不需要再附加上述这些参数。
–quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL文件。
–add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名。
–add-locks:表示在INSERT数据之前和之后锁定和解锁具体的数据表,你可以打开Mysqldump导出的SQL文件,在INSERT之前会出现LOCK TABLES和UNLOCK TABLES语句。
–extended-insert (-e):此参数表示可以多行插入。
使用 SELECT ... INTO OUTFILE 语句导出数据
以下实例中我们将数据表 tutorials_tbl 数据导出到 /tmp/tutorials.txt 文件中:
mysql> SELECT * FROM tutorials_tbl -> INTO OUTFILE '/tmp/tutorials.txt';
你可以通过命令选项来设置数据输出的指定格式,以下实例为导出 CSV 格式:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n';
在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。
SELECT a,b,a+b INTO OUTFILE '/tmp/result.text' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table;
从文件中倒数据到数据库表:load data infile
参考链接:http://www.runoob.com/mysql/mysql-database-import.html
如何手动修改LONGBLOB字段?
对于utf8的数据库, 存储汉字到blob字段, 如汉字的utf8编码是E6 97 B6 E9 97 B4
可以直接把blob字段改成text, 然后直接插入16进制数字,如:insert into longblob (text)values(X'E697B6E997B4')
然后把text重新改回longblob字段。
存储LONGBLOB太大的字段,注意在[mysqld]下,添加max_allowed_packet=16M