MYSQL网页编程之linux下怎样备份复原mysql数据库
一些典型的RDBMS功能并不总是在DBaaS系统中可用。例如MySQL学习教程,WindowsAzureSQLDatabase(以前的SQLAzure)是微软的DBaaS产品,提供了一个类似于SQLServer的数据库平台。本文先容了linux下怎样备份与恢复mysql数据库。数据库备份长短常主要的。假如按期做好备份,如许就能够在产生体系溃散时恢单数据到最初一次一般的形态,把丧失减小到起码。
1、 用命令完成备份
MySQLl供应了一个mysqldump命令,我们能够用它举行数据备份。
按提醒输出暗码,这就把tm数据库一切的表布局和#mysqldump-uroot-ptm>tm_050519.sql数据备份到tm_050519.sql了,由于要总举行备份事情,假如数据量年夜会占用很年夜空间,这时候能够使用gzip紧缩数据,命令以下:
#mysqldump-uroot-ptmgzip>tm_050519.sql.gz体系溃散,重修体系时,能够如许恢单数据:
#mysqldump-uroot-ptm<tm_050519.sql从紧缩文件间接恢复:
#gzip<tm_050519.sql.gzmysqldump-uroot-ptm固然,有良多MySQL工具供应更直不雅的备份恢复功效,好比用phpMyAdmin就很便利。但我以为,mysqldump是最基础、最通用的。
2、使用crontab,体系天天准时备份mysql数据库
使用体系crontab来准时实行备份文件,按日期对备份了局举行保留,到达备份的目标。
1、创立保留备份文件的路径/var/backup/mysqlbak
#mkdir-p/var/backup/mysqlbak2、创立/usr/sbin/bakmysql文件
#vi/usr/sbin/bakmysql.sh
#!/bin/bash#mysql备份剧本cd/var/backup/mysqlbak/dateDIR=`date+"%y-%m-%d"`mkdir-p$dateDIR/dataforiin`/usr/local/www/mysql/bin/mysql-uroot-plin31415926-e"showdatabases"grep-v"Database"grep-v"information_schema"`do/usr/local/www/mysql/bin/mysqldump-uroot-plin31415926$igzip>/var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gzdone3、修正文件属性,使其可实行
#chmod+x/usr/sbin/bakmysql4、修正/etc/crontab
#crontab-e鄙人面增加013***root/usr/sbin/bakmysql#暗示天天3点钟实行备份
如许天天就能够在/var/backup/mysqlbak下看到备份的sql文件了!
<Pstyle="TEXT-INDENT:2em">
“通过有能力的DBA的一个简单计划,MySQL可以达到令人难以想像的运行速度,”一位资深DBA如此表示。MySQL中没有多余的功能来拖累CPU或占用内存。 索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。 两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书 在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。 如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录. 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。 可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
页:
[1]