1、本篇主要介绍了如何使用MySQL命令和Navicat数据库管理工具创建和备份数据库,以及如何使用MySQL命令查看MySQL数据库的全局变量值和运行状态。通过本篇的学习,可以掌握以下内容:● 使用MySQL命令或Navicat工具创建和备份数据库● 使用MySQL命令查看MySQL数据库的全局变量值和运行状态一个数据库是包含表、视图、存储过程等数据库对象的容器,数据库中的各种数据对象都保存在数据库的数据文件中。下图所示为数据库及其对象的结构关系。
2、这里创建一个编程微课的数据库,名称为mooc,该数据库作为主要实例将贯穿整个MySQL数据库课程。1、 使用MySQL命令创建和删除数据库在MySQL命令行环境下,可以使用MySQL命令来创建数据库。用于创建MySQL数据库的命令语句如下:create database 数据库名;命令不区分大小写,也就是说CREATE DATABASE等同于create database。使用root账户登录MySQL数据库,进入MySQL命令行环境,输入下面的命令:create database mooc;执行上述命令后,命令行窗口显示Query OK,说明数据库创建成功。数据库创建完成后,可以使用show databases命令查看所有已创建的数据库,从下图输出结果可以看出,mooc数据库已创建成功。
3、当一个数据库不再需要时,可以用删除命令删除数据库。需要注意的是,删除数据库的命令要谨慎使用,一旦执行该命令,与数据库相关的文件和对象都会被删除。用于删除MySQL数据库的命令语句如下:drop database <数据库名>;进入MySQL命令行环境,输入下面的命令:drop database mooc;执行上述命令后,命令行窗口显示Query OK,说明数据库删除成功。可以使用show databases命令查看所有已创建的数据库,从下图输出结果可以看出,mooc数据库已被删除。
4、使用Navicat创建和删除数据库使用Navicat创建数据库非常简单,启动Navicat软件,连接本地或远程MySQL数据库。在连接窗口选择已连接的MySQL数据库,单击鼠标右键,在弹出的菜单中选择【新建数据库…】命令,Navicat弹出新建数据库对话框,如下图所示。
5、在弹出的新建数据库对话框中,数据库名输入“mooc”,字符集选择“utf8”,排序情写硎霈规则选择“utf8_general_ci”,输入项填写完毕,即可完成数据库的创建。使用N锾攒揉敫avicat删除数据库也非常简单,在连接窗口选择需要删除的数据库,单击鼠标右键,在弹出的菜单中选择【删除数据库】命令,即可删除数据库。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';执行上述命令后,命令行窗口显示数据库的服务端口号。如下图所示。
6、下面列出了查询数据库变量值的常用命令:● 查看是否使用查询缓存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%';执行上述命令后,命令行窗口显示数据库当前连接数。如下图所示。
7、下面列出了查询数据库运行咽疖纲掇状态的常用命令:● 查看数据库当前最大连接数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备份完成后,单击保存按钮保存备份文件即可。当需要还原备份数据库时,在备份工作窗口,可以选择已备份的文件进行恢复。■ 课程小结(1)数据库在使用过程中,有时需要查看数据库的相关信息,了解当前数据库的使用情况。MySQL提供了show系列命令,可以查看数据库表、全局变量值以及运行状态。show variables命令可以查看全局变量值,如数据库当前连接数量、数据库日志是否开启等。show status命令可以查看数据库运行状态,如当前缓存情况、因没有关闭连接而放弃的连接数量等。(2)MySQL数据库的主要备份工具为mysqldump,mysqldump可以把整个数据库装载到一个SQL文件中,这个文件包含重建数据库所需要的SQL命令。如果使用Navicat数据库管理工具管理mySQL数据库,可以直接使用Navicat提供的备份工具进行备份。