数据的备份与恢复:
1.利用sqlyog或者navicat这类工具进行备份和恢复
2.直接复制mysql安装地址里面的data文件夹和ini文件进行备份与恢复
3.利用mysql自带的命令进行备份与恢复
1.利用mysqldump命令进行备份
mysqldump -h 主机名 –u 用户名 –p [options] 数据库名
[ table1 table2 table3 ] > path/filename.sql
options 参数 可选的意思:
--add-drop-table 导出sql脚本会加上 DROP TABLE IF EXISTS 语句
默认是打开的,可以用 --skip-add-drop-table 来取消
--add-locks 该选项会在INSERT 语句中捆绑一个LOCK TABLE 和UNLOCK TABLE 语句
好处:防止记录被再次导入时,其他用户对表进行的操作,默认是打开的
-t
或
--no-create-info 忽略不写重新创建每个转储表的CREATE TABLE语句
-c
或
--complete-insert 在每个INERT语句的列上加上字段名
在数据库导入另一个数据库时非常有用
-d 或 --no-data 不写表的任何行信息。对于只想转储表的结构很有用
--where "where-condition", -w "where-condition" 只转储给定的WHERE条件选择的记录
--opt 该选项是速记;等同于指定
--add-drop-tables
--add-locking
--create-option
--disable-keys--extended-insert
--lock-tables
--quick
--set-charset
2.恢复
1.dos 窗口登录之后 选择使用source命令进行恢复
SOURCE /path/db_name.sql;
2.dos窗口未登录mysql 使用mysql命令进行恢复
mysql –u root –p dbname < /path/db_name.sql;
3.利用sql语句导入导出表数据
使用之前需要配置ini文件 在mysqld目录下面添加内容并注意重启mysql
secure_file_priv=""
备份:
SELECT * INTO OUTFILE 'd:/back/test.sql' FROM grade;
恢复:
LOAD DATA INFILE 'd:/back/test.sql' INTO TABLE grade;