优秀文章,第一时间收到!
KS
Knowledge Sharing
知识分享
现在是资源共享的时代,同样也是知识分享的时代,如果你觉得从本文能学到知识,请把知识与别人分享。
1、数据库备份
mysqldump命令的工作原理是先查出需要备份的表的结构,再在文本中生成一个CREATE语句,然后将表中所有记录转换成一条INSERT语句。
(1)备份一个数据库,语法格式:
dbname是数据库的名称,table1和table2是表的名称没有该参数时将备份这个数据库,BackupName.sql表示备份文件的名称可以是绝对路径
注:1>mysqldump命令备份的文件并非一定是.sql也可以是其他格式如.txt,通常是.sql
2>不登录mysql,直接在MySQL中执行备份语句,如:
(1) 备份多个数据库,语法格式:
(2) 备份所有数据库,语法格式:
(3) 可以关闭服务器,在将数据库目录复制出来,但是这不是最好的备份方法
(4) 使用mysqlhotcopy工具快速备份,这种备份方式mysqldump命令快,工作原理是先将需要备份的数据库加上一个读操作锁,然后用FLUSHTABLES将内存中的数据写回到硬盘上的数据库中,最后被备份的数据库文件复制到目标目录,命令格式如下:
注:1> mysqlhotcopy工具不是MySQL自带的,需要安装Perl的数据库接口报
2>由于mysqlhotcopy工具的工作原理是将数据库文件拷贝到目标目录,因此其只能备份MyISAM类型的表,不能用来备份InnoDB类型的表
实操:
0、在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump
1、最常用的:
【windows下:】
【linux下:】
这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中;
其中-uroot参数表示访问数据库的用户名是root,-p参数表示访问数据库的密码是123456;
2、导出整个数据库
【格式:】
【windows下:】
【linux下: 在安装目录mysql/bin下输入命令】
3、导出一个表,包括表结构和数据
【格式:】
【windows下:】
【linux下: 在安装目录mysql/bin下输入命令】
4、导出一个数据库结构
【windows下:】
【linux下: 在安装目录mysql/bin下输入命令】
5、导出一个表,只有表结构
【格式:】
【windows下:】
【linux下: 在安装目录mysql/bin下输入命令】
2、数据还原,语法规则:
第一种导入方式:(推荐)
(linux下和Windows 下语法是一样的,只是路径的书写方式不同而已)
1、创建一个空数据库
2、进入MySQL安装目录bin下
3、导入表数据的命令
(将选定的表导入到指定的数据库)
4、导入数据库数据的命令:
例子:
(将备份出来的数据库导入,这里没有写数据库名,也可以写但要求是要写同样的名称)
第二种导入方式:(常用source 命令)
需要先进入mysql数据库控制台:
如mysql -uroot -p123456
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
3、日志
启动日志功能会降低MySQL数据库的执行速度,且会占用大量磁盘空间和使用很多内存,一般不开启MySQL数据库的日志功能
(1)二进制日志:以二进制文件形式记录数据库中的操作,但不记录查询语句
(2)错误日志:记录MySQL服务器的启动、关闭和运行错误等信息
(3)通用查询日志:记录用户登录和记录查询的信息
(4)慢查询日志:记录执行时间超过指定时间的操作
领取专属 10元无门槛券
私享最新 技术干货