MySQL数据库的备份与状态查询
4230字,阅读需时15分钟

本篇主要介绍了如何使用MySQL命令和Navicat数据库管理工具创建和备份数据库,以及如何使用MySQL命令查看MySQL数据库的全局变量值和运行状态。通过本篇的学习,可以掌握以下内容:

● 使用MySQL命令或Navicat工具创建和备份数据库

● 使用MySQL命令查看MySQL数据库的全局变量值和运行状态

一个数据库是包含表、视图、存储过程等数据库对象的容器,数据库中的各种数据对象都保存在数据库的数据文件中。下图所示为数据库及其对象的结构关系。

image.png                                       

图 1 数据库及其对象的结构关系

 

这里创建一个编程微课的数据库,名称为mooc,该数据库作为主要实例将贯穿整个MySQL数据库课程。


1、 使用MySQL命令创建和删除数据库

在MySQL命令行环境下,可以使用MySQL命令来创建数据库。用于创建MySQL数据库的命令语句如下:

create database 数据库名;

命令不区分大小写,也就是说CREATE  DATABASE等同于create database。使用root账户登录MySQL数据库,进入MySQL命令行环境,输入下面的命令:

create  database  mooc;

执行上述命令后,命令行窗口显示Query OK,说明数据库创建成功。数据库创建完成后,可以使用show databases命令查看所有已创建的数据库,从下图输出结果可以看出,mooc数据库已创建成功。

 image.png

当一个数据库不再需要时,可以用删除命令删除数据库。需要注意的是,删除数据库的命令要谨慎使用,一旦执行该命令,与数据库相关的文件和对象都会被删除。用于删除MySQL数据库的命令语句如下:

drop  database <数据库名>;

进入MySQL命令行环境,输入下面的命令:

drop  database  mooc;

执行上述命令后,命令行窗口显示Query OK,说明数据库删除成功。可以使用show databases命令查看所有已创建的数据库,从下图输出结果可以看出,mooc数据库已被删除。

image.png

2、使用Navicat创建和删除数据库

使用Navicat创建数据库非常简单,启动Navicat软件,连接本地或远程MySQL数据库。在连接窗口选择已连接的MySQL数据库,单击鼠标右键,在弹出的菜单中选择【新建数据库…】命令,Navicat弹出新建数据库对话框,如下图所示。

image.png

图 2 新建数据库对话框

在弹出的新建数据库对话框中,数据库名输入“mooc”,字符集选择“utf8”,排序规则选择“utf8_general_ci”,输入项填写完毕,即可完成数据库的创建。

使用Navicat删除数据库也非常简单,在连接窗口选择需要删除的数据库,单击鼠标右键,在弹出的菜单中选择【删除数据库】命令,即可删除数据库。


3、  使用MySQL命令查看数据库

数据库在使用过程中,用户有时需要查看数据库的相关信息,了解当前数据库的使用情况。例如,查看当前数据库的表、视图、端口、字符集、用户等等。在MySQL命令行环境下,可以使用相关查看命令查看数据库使用情况。在查看数据库之前,需要先使用use命令打开数据库,use命令将打开的数据库作为当前默认数据库,后续输入的MySQL命令均作用于该数据库,除非在命令中指明了需要操作的数据库。use命令语句如下:

use <数据库名>;

在MySQL命令行环境,输入下面的命令:

use  mooc;

执行上述命令后,命令行窗口显示Database changed,说明mooc数据库打开成功。

(1)查看数据库表

在MySQL命令行环境,输入下面的命令:

show  tables;

执行上述命令后,命令行窗口显示mooc数据库中的表信息。如下图所示。

从输出结果可以看出,当前mooc数据库仅有一个表,表名为course。

(2)查看数据库变量值

可以通过show variables命令查看数据库系统变量值,show variables命令支持模糊查询,show variables命令格式如下:

show variables like '<%变量名%>';

例如,数据库服务端口号属于数据库系统变量,变量名为“port”,要查看数据库服务端口号,可以在MySQL命令行环境输入下面的命令:

show variables like 'port';

执行上述命令后,命令行窗口显示数据库的服务端口号。如下图所示。

image.png

下面列出了查询数据库变量值的常用命令:

●  查看是否使用查询缓存

show variables like "%query_cache%";

●  查看所有数据库日志是否开启

show variables like "%binlog%";

●  查看最大连接数量

show variables like '%max_connections%';

●  查看超时时间

show variables like '%timeout%';

(3)查看数据库运行状态

可以通过show status命令查看数据库运行状态,show status命令支持模糊查询,show status命令格式如下:

show status like '<%状态名%>';

例如,要查询数据库当前连接数,可以在MySQL命令行环境输入下面的命令:

show status like '%Threads_connected%';

执行上述命令后,命令行窗口显示数据库当前连接数。如下图所示。

image.png 

下面列出了查询数据库运行状态的常用命令:

●  查看数据库当前最大连接数

show status like '%Max_used_connections%';

●  查看数据库表锁定状态

show status like '%table_lock%';

●  查看数据库行锁定状态

show status like 'innodb_row_lock%';

●  查看数据库当前缓存情况

show status like '%qcache%';

●  查看由于没有正确关闭连接,已经放弃的连接数量

show status like 'Aborted_clients';


4、  MySQL数据库的备份与恢复

备份MySQL数据库常用工具是mysqldump,mysqldump可以把整个数据库装载到一个SQL文件中,这个文件包含重建数据库所需要的SQL命令。

(1)备份整个数据库

备份整个数据库的命令语句如下:

mysqldump -uroot -pPassword [database name] > [dump file]

其中,-uroot为数据库用户,这里为root用户,-pPassword为访问数据库密码,Password为密码项,database name为需要备份的数据库名称,dump file为备份文件路径。

例如,假如要备份MySQL系统数据库world到D盘根目录下的world.sql文件,可以在系统命令行窗口输入如下命令:

mysqldump -uroot -p~123456q world > d:\worldback.sql

需要注意的是,mysqldump是一个客户端程序,不能在MySQL环境下运行,要在系统Shell环境下运行,如Windows命令行窗口。

(2)备份数据库表结构,不包括表数据

备份数据库表结构的命令语句如下:

mysqldump -uroot -pPassword -d [database name] > [dump file]

例如,假如要备份MySQL安装示例数据库world表结构到D盘根目录下的worldback.sql文件,可以在系统命令行窗口输入如下命令:

mysqldump -uroot -p~123456q -d world > d:\worldback.sql

(3)导出数据库指定表结构

有时需要导出数据库指定几个表的结构,可以在数据库名称后面添加要导出的表名,表之间用英文空格分隔。

例如,下面的语句导出world数据库的city表和country表。

mysqldump -uroot -p~123456q -d world city country > db.sql

如果需要表结构和表数据一同导出,可以去掉在数据库名称前面去掉参数d,参数d的意思就是不导出数据。

(4)备份数据库的恢复

使用mysqldump恢复备份数据库的命令和备份数据库的命令基本相同,区别是命令中的“>”符号变为“<”符号。

例如,恢复先前备份的db.sql文件,可以在系统命令行窗口输入如下命令:

mysqldump -uroot -p~123456q world < d:\db.sql

注意:恢复备份数据库之前,需要确保待恢复的数据库已经存在。如果备份数据库中包含数据,还需要确保备份数据库和待恢复数据库使用的字符集要相同,不然可能会发生备份恢复错误,无法恢复数据库。

(5)使用Navicat备份数据库

使用Navicat备份数据库较为简单,选择需要备份的数据库,单击导航条上的备份按钮图标,可进入备份工作窗口。在备份工作窗口,选择新建备份选项,Navicat弹出备份对话框,在对话框中填入备份备注,单击开始按钮。Navicat备份完成后,单击保存按钮保存备份文件即可。

image.png

图 3 Navicat新建备份对话框

当需要还原备份数据库时,在备份工作窗口,可以选择已备份的文件进行恢复。


■ 课程小结

(1)数据库在使用过程中,有时需要查看数据库的相关信息,了解当前数据库的使用情况。MySQL提供了show系列命令,可以查看数据库表、全局变量值以及运行状态。show variables命令可以查看全局变量值,如数据库当前连接数量、数据库日志是否开启等。show status命令可以查看数据库运行状态,如当前缓存情况、因没有关闭连接而放弃的连接数量等。

(2)MySQL数据库的主要备份工具为mysqldump,mysqldump可以把整个数据库装载到一个SQL文件中,这个文件包含重建数据库所需要的SQL命令。如果使用Navicat数据库管理工具管理mySQL数据库,可以直接使用Navicat提供的备份工具进行备份。

我要评论
全部评论
郎宏林
授课老师
授课老师简介
项目经理,系统分析和架构师,从事多年中文信息处理技术。熟悉项目管理、擅长项目需求分析和设计、精通Java、C#、Python等编程语言。
下载APP

手机、电脑同步学

用微信或手机浏览器扫描二维码,即可下载APP。

  • 备案号:鲁ICP备15001146号
  • @1997-2018 潍坊米粒花网络技术有限公司版权所有