笺注:这是在 Windows2012R2_安装MySQL5.5 的基础上进行的。
Windows客户端使用SQLyog,远程备份MySQL数据库:
运行 SQLyogEnt.exe ,新建一个连接:
注释:
MySQL服务器的IP地址 192.168.168.133
数据库用户名 zhuohua
密码 1234
端口 3306
笺注:
Windows客户端的IP地址为 192.168.168.132
使用数据库用户zhuohua@'192.168.168.132',只对库data1有完全控制的权限。
SQLyog的主界面:
库data1里的表:
使用SQLyog查看库data1的表t_1、t_2的表数据:
Use data1;
SELECT * FROM t_1;
SELECT * FROM t_2;
######
使用SQLyog备份库data1:
注释:备份文件(C:\Users\jacky\Desktop\data1_backup.sql)会保存在客户端本地。
成功备份库data1:
######
备份成功后,使用SQLyog删除库data1里的表t_1:
Use data1;
DROP TABLE t_1;
成功删除库data1里的表t_1:
######
备份成功后,继续往库data1的表t_2中添加一条记录:
Use data1;
INSERT INTO t_2 (name,phone,english) VALUES ('zhuohua','168168',90);
SELECT * FROM t_2;
######
备份成功后,继续在库data1中创建表t_3:
Use data1;
create table t_3(
id int not null auto_increment,
name varchar(20) not null,
phone varchar(30),
english float,
primary key (id)
);
再往库data1的表t_3中添加一条记录:
Use data1;
INSERT INTO t_3 (name,phone,english) VALUES ('Python','777666',99);
SELECT * FROM t_3;
此时,库data1里的表:
######
使用SQLyog还原库data1:
注释:使用客户端本地的备份文件(C:\Users\jacky\Desktop\data1_backup.sql)。
成功还原库data1:
还原成功后,库data1里的表:
######
还原成功后,使用SQLyog查看库data1的表t_1、t_2的表数据:
Use data1;
SELECT * FROM t_1;
SELECT * FROM t_2;
######
备份成功后,使用SQLyog查看库data1的表t_3的表数据:
Use data1;
SELECT * FROM t_3;
结论:
还原某个库时,假如库里的某个表不存在,会还原备份文件里的表;
假如表名重复,会被备份文件里的表直接替换;假如表名不重复,则不处理。
##################
##################
Linux客户端远程备份MySQL数据库:
先登录远程MySQL:
[root@centos8 ~]# mysql -u"zhuohua" -p"886" -h"192.168.168.133"
注释:
MySQL服务器的IP地址 192.168.168.133
数据库用户名 zhuohua
密码 886
端口 3306
笺注:
Linux客户端需要安装MySQL或MariaDB
Linux客户端的IP地址为 192.168.168.154
使用数据库用户zhuohua@'192.168.168.154',只对库data1有完全控制的权限。
备份一个库(data1):
[root@centos8 ~]# mysqldump -u"zhuohua" -p"886" -h"192.168.168.133" data1 > /data1_backup.sql
[root@centos8 ~]#
备份成功:
[root@centos8 ~]# du -sh /data1_backup.sql
12K /data1_backup.sql
[root@centos8 ~]#
注释:备份文件/data1_backup.sql会保存在客户端本地。
######
删除一个库(data1):(还原前,最好删除旧库)
MySQL [(none)]> drop database data1;
Query OK, 8 rows affected (0.184 sec)
MySQL [(none)]>
重新创建库(data1),并指定其字符集:
MySQL [(none)]> create database data1 character set utf8mb4 collate utf8mb4_unicode_ci;
Query OK, 1 row affected (0.001 sec)
MySQL [(none)]>
切换到库data1:
MySQL [(none)]> use data1;
Database changed
MySQL [data1]>
以防中文出现乱码,最好先设置一下编码规则:
MySQL [data1]> set names utf8;
Query OK, 0 rows affected (0.000 sec)
MySQL [data1]>
还原单个库(data1):(使用客户端本地的备份文件/data1_backup.sql)
MySQL [data1]> source /data1_backup.sql
Query OK, 0 rows affected (0.001 sec)
Query OK, 0 rows affected (0.001 sec)
Query OK, 0 rows affected (0.001 sec)
Query OK, 0 rows affected (0.001 sec)
Query OK, 0 rows affected (0.001 sec)
Query OK, 0 rows affected (0.001 sec)
Query OK, 0 rows affected (0.001 sec)
MySQL [data1]>
实验中,库data1的还原是成功的:
MySQL [data1]> show create database data1;
+----------+----------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------------------------------------+
| data1 | CREATE DATABASE `data1` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+----------+----------------------------------------------------------------------------------------------+
1 row in set (0.001 sec)
MySQL [data1]>
MySQL [data1]> show tables;
+-----------------+
| Tables_in_data1 |
+-----------------+
| new_t_1 |
| new_t_2 |
| t_1 |
| t_2 |
| t_3 |
| table1 |
| table2 |
| table3 |
+-----------------+
8 rows in set (0.002 sec)
MySQL [data1]>
MySQL [data1]> select * from table1;
+----+--------+--------+---------+
| id | number | name | address |
+----+--------+--------+---------+
| 1 | A001 | 小明 | 佛山 |
| 2 | A002 | 小李 | 广州 |
| 3 | A003 | 小海 | 肇庆 |
+----+--------+--------+---------+
3 rows in set (0.001 sec)
MySQL [data1]>
##################
##################
在服务器本地备份MySQL数据库:
使用CMD命令行程序:
MySQL的命令都在安装目录下的bin里面:(Windows下需要先切换工作目录)
d:
cd MySQL\bin
备份一个库(data1):
mysqldump -u"root" -p"123" -h"localhost" data1 > d:\data1_bak.sql
注释:
使用数据库管理员root@localhost
在服务器本地登录时, -h"localhost" 是可以省略的。
备份成功:(只有d:\data1_bak.sql一个备份文件)
######
在服务器本地还原MySQL数据库:
服务器本地登录MySQL:(Windows下需要先切换工作目录)
d:
cd MySQL\bin
mysql -u"root" -p"123"
删除一个库(data1):(还原前,最好删除旧库)
mysql> drop database data1;
Query OK, 8 rows affected (0.02 sec)
mysql>
重新创建库(data1),并指定其字符集:
D:\MySQL\bin>create database data1 character set utf8mb4 collate utf8mb4_unicode_ci;
Query OK, 1 row affected (0.00 sec)
mysql>
切换到库data1:
mysql> use data1;
Database changed
mysql>
以防中文出现乱码,最好先设置一下编码规则:
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql>
还原单个库(data1):(使用服务器本地的备份文件d:\data1_bak.sql)
mysql> source d:\data1_bak.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql>
笺注:实验中,库data1的还原是成功的。
相关文章:
Linux下MySQL的备份和还原
使用SQLyog远程管理MySQL
Windows2008R2_UPUPW_网站的备份和还原 |