Mysql备份--mysqldump&outfile

1.备份工具
mysqldump 客户端和服务器端都能用
select outfile 只能写到服务器端

2.按表单位备份
  a.单个表备份

mysqldump -uusername -p database table1 >tableback.sql

mysql> select * into outfile 'D:\someBookes\mysql\pracitce\mysql_user.sql' fields terminated by ','
    -> optionally enclosed by '"' escaped by '#'
    -> lines terminated by '\n' from user;
Query OK, 7 rows affected (0.07 sec)

mysql> exit
Bye

小插曲:windows操作系统的下反斜杠会被忽略,文件直接创建到D盘的根目录了。用正斜杆才能创建到对应的目录,如下:

mysql> use mysql;
Database changed
mysql> select * into outfile 'D:/someBookes/mysql/pracitce/mysql_user.sql' fields terminated by ','
    -> optionally enclosed by '"' escaped by '#'
    -> lines terminated by '\n' from user;
Query OK, 7 rows affected (0.00 sec)

mysql>

这样只能将数据导出到服务器端,如何将数据写入客户端呢?只能包装下SQL 写到客户端
mysql -h192.168.1.119 -uroot -ppasswd -e"select * from std.ygxxwh_b0;" > D:/someBookes/mysql/pracitce/stdd.sql

  b.多个表备份
  mysqldump -uusername -p database table1 table2 >tablesback.sql

3.按数据库单位备份
  a.备份单个数据库
  mysqldump -uusername -p --database database1 >databaseback.sql
  b.备份多个数据库
  mysqldump -uusername -p --database database1 database2 >databasesback.sql

4.mysqldump常用参数
--add-drop-database Add a Drop database before each create.
--add-drop-table Add a Drop table before each create.(默认开启)
--hex-blob Dump binary strings (BINARY,VARBINARY,BLOB) in hexadecimal format.
--no-data 只导出表结构
--single-transaction Create a consistent snapshot by dumping all tables in a single transaction.Works only for tables stored in storage engines which support multiversioning(INNODB).

 

5.恢复工具

由于Mysql的备份都是以SQL的形式生成的,运行备份的脚本即可。

6.Mysql的日志文件系统的组成
a.错误日志:记录启动、运行或停止是Mysql出现的问题。
b.通用日志:记录建立的客户端连接和执行的SQL语句。
c.二进制日志:记录所有更改数据的语句。还用于复制。
d.慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
e.Innodb日志:innodb redo log

缺省情况下所有日志创建于mysql数据目录中
可以通过刷新日志来强制Mysqld关闭和重新打开日志文件
执行flush logs 或者 mysqladmin flush-logs 或 mysqladmin refresh 时,日志被老化。

posted @ 2016-09-20 11:52  Alex-Zeng  阅读(839)  评论(0编辑  收藏  举报