五、Mysql备份恢复

1.备份方式:

■直接phpmyadmin导出备份。我们用root管理权限进入phpmyadmin,然后把需要备份网站的mysql数据库导出备份,建议用gzip压缩格式

■ mysqldump命令。我们用登陆SSH,然后用命令备份


■ LVS快照备份 


2.备份策略:

■ 完整备份

■ 增量备份

■ 差异备份


3.备份类型:

■ 冷备(cold backup):需要关mysql服务,读写请求均不允许状态下进行;

■ 温备(warm backup): 服务在线,但仅支持读请求,不允许写请求;

■ 热备(hot backup):备份的同时,业务不受影响。


4.phpmyadmin备份:

a.下载phpmyadmin,再解压到可以访问的web目录下(如果是虚拟空间,可以解压后通过ftp等上传到web目录下),当然您可以修改解压后该文件的名称

b.配置config文件

  打开libraries下的config.default.php文件,依次找到下面各项,按照说明配置即可

■ 访问网址

$cfg['PmaAbsoluteUri'] = 'http://192.168.1.202/phpmyadmin';

■ mysql主机信息

$cfg['Servers'][$i]['host'] = 'localhost';   

 #填写localhost或mysql所在服务器的ip地址,如果mysql和该phpmyadmin在同一服务器,则按默认localhost

$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port mysql端口,如果是默认3306,保留为空即可

■ 认证方法

$cfg['Servers'][$i]['auth_type'] = 'cookie';

在此有四种模式可供选择,cookie,http,HTTP,config
   config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
   当该项设置为cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,,具体如下:
   PHP安装模式为Apache,可以使用http和cookie;
   PHP安装模式为CGI,可以使用cookie
   我个人建议:无论是本地还是网络上,都建议设置成cookie,安全第一。

■ mysql用户名和密码

$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = '111qqq...';

■ 短语密码(blowfish_secret)的设置
$cfg['blowfish_secret'] = '';
如果认证方法设置为cookie,就需要设置短语密码,置于设置为什么密码,由您自己决定  ,但是不能留空,否则会在登录phpmyadmin时提示错误

■ 设置默认语言与编码
查找 $cfg['DefaultLang'] = 'zh'; (这里是选择语言,zh代表简体中文的意思) 还有 $cfg['DefaultCharset'] = 'gb2312';(修改默认编码为国标)

C.选择要备份的库,点击导出,恢复点击导入


5.mysqldump备份:

mysqldump -uroot  --default-character-set=gbk  -p111qqq... discuz > /data/discuz.sql   #备份库 
mysql -uroot  --default-character-set=gbk  -p111qqq... discuz < /data/discuz.sql     #恢复库
mysqldump -uroot --default-character-set=gbk -p111qqq... discuz pre_forum_post > /data/post.mysql    #备份表
mysql -uroot  --default-character-set=gbk -p111qqq... discuz  < /data/post.mysql   #恢复表