mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个sql服务器(不一定是一个mysql服务器)。
转储包含创建表和/或装载表的sql语句。
ps、如果在服务器上进行备份,并且表均为myisam表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。
本文从三部分介绍了mysql数据备份与恢复:
第一,mysql基本常识;
第二,数据备份与恢复示例;
第三,mysqldump具体参数说明。
一、MySql基本常识
1)连接mysql:
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL
键入命令mysql-uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL
假设远程主机的IP为:10.0.0.1,用户名为root,密码为12356。则键入以下命令:
mysql -h10.0.0.1 -uroot -p12356
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令
exit (回车)
(2)常见命令:
1、显示数据库列表:
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库
show tables;
3、显示数据表的结构:
describe 表名;
简写:desc 表名
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
二、数据备份与恢复
(1)备份:从数据库导出数据:
格式:mysqldump -h链接ip -P(大写)端口 -u用户名 -p密码数据库名>d:XX.sql(路劲)
示例:mysqldump -h132.72.192.432 -P3307 -uroot -p8888 htgl > bak.sql;
(2)备份导出示例:
1、导出数据和表结构——将特定数据库特定表中的数据和表格结构和数据全部返回
mysqldump –u b_user -h 101.3.20.33 -p’H_password’ -P3306 database_di up_subjects > 0101_0630_up_subjects.sql
2、导出表结构却不导出表数据——只返回特定数据库特定表格的表格结构,不返回数据,添加“-d”命令参数
mysqldump –u b_user -h 101.3.20.33 -p’H_password’ -P3306 -d database_di up_subjects > 0101_0630_up_subjects.sql
3、导出表结构和满足挑顶条件的表数据——只返回特定数据库中特定表的表格结构和满足特定条件的数据
mysqldump –u b_user -h 101.3.20.33 -p’H_password’ -P3306 database_di up_subjects –where=” ctime>’2017-01-01′ and ctime 0101_0630_up_subjects.sql
4、导出数据却不导出表结构——只返回特定数据库中特定表格的数据,不返回表格结构,添加“-t”命令参数
mysqldump –u b_user -h 101.3.20.33 -p’H_password’ -t -P3306 database_di up_subjects >0101_0630_up_subjects.sql
5、导出特定数据库的所有表格的表结构及其数据,添加“–databases ”命令参数
mysqldump –u b_user -h 101.3.20.33 -p’H_password’ -P3306 –databases test > all_database.sql
(3)恢复导入数据库数据:
将导出的本地文件导入到指定数据库
1、系统命令行
格式:mysql -h链接ip -P(大写)端口 -u用户名 -p密码 数据库名 < d:XX.sql(路劲)
mysql -uusername -ppassword db1
user db1;
source tb1_tb2.sql;
3、恢复整个数据库的方法:
mysql -u b_user -h 101.3.20.33 -p’H_password’ -P3306 < all_database.sql (4)具体恢复示例: 1、先登录该MySQL服务器,切换要导入数据的数据 具体命令如下: mysql> use test;
mysql> source /home/test/0101_0630_up_subjects.sql
Query OK, 0 rows affected (0.01 sec)
……
Query OK, 0 rows affected (0.00 sec)
Query OK, 9 rows affected (0.00 sec)
Records: 9 Duplicates: 0 Warnings: 0
注释:表示影响的记录为9行,重复的记录有0行,警告的记录有0个
2、直接使用系统命令行
<