1.备份工具
mysqldump 客户端和服务器端都能用select outfile 只能写到服务器端2.按表单位备份
a.单个表备份mysqldump -uusername -p database table1 >tableback.sqlmysql> 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> exitBye
小插曲:windows操作系统的下反斜杠会被忽略,文件直接创建到D盘的根目录了。用正斜杆才能创建到对应的目录,如下:
mysql> use mysql;Database changedmysql> 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.sqlb.多个表备份
mysqldump -uusername -p database table1 table2 >tablesback.sql3.按数据库单位备份
a.备份单个数据库 mysqldump -uusername -p --database database1 >databaseback.sql b.备份多个数据库 mysqldump -uusername -p --database database1 database2 >databasesback.sql4.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 时,日志被老化。