免费自己做网站,网站建设过程中的需求分析,长沙网站制作合作商,旅游网站开发需求分析备份概述
一、备份方式
按照数据库服务状态分为#xff1a;
冷备份#xff1a;在备份时暂停数据库运行和服务#xff0c;将整个数据库复制到备份设备中
热备份#xff1a;在备份时不停止数据库的运行和服务
按照备份的数据分为#xff1a;
物理备份#xff1a;备份…备份概述
一、备份方式
按照数据库服务状态分为
冷备份在备份时暂停数据库运行和服务将整个数据库复制到备份设备中
热备份在备份时不停止数据库的运行和服务
按照备份的数据分为
物理备份备份数据库服务器上存储的原始数据和文件可以直接拷贝和恢复
逻辑备份备份的是SQL语句可用于不同版本和不同类型的MySQL数据库之间的数据迁移
二、备份策略
1、完全备份
完全备份所有的数据易于管理
2、增量备份
每周进行一次完全备份其余每天备份和上次备份的差异部分
3、差异备份
每周进行一次完全备份其余每天备份和完全备份的差异部分
三、备份系统三要素
BW 一个工作周期内留给备份系统进行备份的时间长度
RPO 客户可以承受的最大数据丢失量
RTO 客户可以承受的最长停机时间
完全备份与恢复
一、物理备份及恢复 适合线下备份不适合线上备份 1、备份操作
systemctl stop mysqld
cp -rp /var/lib/mysql /opt/mysql.bak
或
tar -zcf /opt/mysql.tar.gz /var/lib/mysql/*2、恢复操作
systemctl stop mysqld
rm -rf /var/lib/mysql/*
cp -r /opt/mysql.bak/* /var/lib/mysql/
或
tar -zxf /opt/mysql.tar.gz -C /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql
systemctl start mysqld
二、逻辑备份及恢复
1、完全备份
mysqldump -uroot -p密码 库名 /目录/xxx.sql
库名表示方式 库名 表名列表 备份1张表或多张表所有数据 -B 库名列表 备份1个库或多个库所有数据 --all-databases 或 -A 备份1台服务器所有数据 [rootmysql50 ~]# mkdir /bakdir
# 备份所有库
[rootmysql50 ~]# mysqldump -uroot -p123456 -A /bakdir/allbak.sql
# 备份1个库
[rootmysql50 ~]# mysqldump -uroot -p123456 -B tarena /bakdir/tarena.sql
# 备份多个库
rootmysql50 ~]# mysqldump -uroot -p123456 -B db3 db1 /bakdir/db3_db1.sql
# 备份多张表
[rootmysql50 ~]# mysqldump -uroot -p123456 tarena employees departments /bakdir/tarena_employees_deparments.sql
# 备份1张表
[rootmysql50 ~]# mysqldump -uroot -p123456 tarena salary /bakdir/tarena_salary.sql[rootmysql50 ~]# ls /bakdir/
allbak.sql tarena_salary.sql tarena.sql db3_db1.sql tarena_employees_deparments.sql
2、完全恢复
1命令行恢复
mysql -uroot -p密码 [库名] /目录/xxx.sql
[rootmysql51 ~]# mysql -p123456mysql select count(*) from tarena.salary;
mysql delete from tarena.salary;
mysql select count(*) from tarena.salary;[rootmysql50 ~]# scp /bakdir/tarena_salary.sql 192.168.88.51:/root
[rootmysql51 ~]# ls
mysql.tar.gz tarena_salary.sql
[rootmysql51 ~]# mysql -uroot -p123456 tarena /root/tarena_salary.sql
[rootmysql51 ~]# mysql -p123456mysql select count(*) from tarena.salary;2使用数据库里的 source 命令恢复数据
mysql drop database tarena;
mysql show databases;
mysql source /bakdir/tarena.sql;
mysql show databases;
mysql drop table tarena.salary;
mysql use tarena;
mysql show tables;
mysql source /bakdir/tarena_salary.sql;
mysql show tables;恢复库时库名可以省略
恢复表时需要库名
备份和恢复时数据库服务必须是运行状态
Mysqldump 备份和恢复数据时会锁表锁表期间无法对表做写访问mysqldump适合备份数据量比较小的数据或在数据库服务器访问量少的时候备份。
3、备份缺点
1物理备份缺点
跨平台性差备份时间长、冗余备份、浪费存储空间
2mysqldump备份缺点
效率较低、备份和还原速度慢、锁表备份过程中数据插入和更新操作被阻塞
增量备份与恢复
备份上次备份后 产生的数据 软件介绍 一款强大的在线热备份工具 备份过程中不锁库表适合生产环境 由专业组织Percona提供改进MySQL分支 一、软件安装
# 免安装解压即可使用[rootmysql50 ~]# yum -y install perl-DBD-MySQL # 安装依赖
[rootmysql50 ~]# tar -xf percona-xtrabackup-8.0.26-18-Linux-x86_64.glibc2.12-minimal.tar.gz
[rootmysql50 ~]# mv percona-xtrabackup-8.0.26-18-Linux-x86_64.glibc2.12-minimal /usr/local/percona
[rootmysql50 ~]# vim /etc/bashrc # 配置初始配置文件 系统环境变量
export PATH/usr/local/percona/bin:$PATH # 添加此行
[rootmysql50 ~]# source /etc/bashrc # 使配置生效
[rootmysql50 ~]# man xtrabackup 二、增量备份
1、首次完全备份
xtrabackup --host127.0.0.1 --user用户名 --password密码 --backup --target-dir备份目录 --datadir数据库目录
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/allbak --datadir/var/lib/mysql2、增量备份
xtrabackup --host127.0.0.1 --user用户名 --password密码 --backup --target-dir备份目录 --incremental-basedir上次备份目录 --data-dir数据库目录
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/new2 --incremental-basedir/allbak --data-dir/var/lib/mysql
...连接数据库插入数据...
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/new3 --incremental-basedir/new2 --data-dir/var/lib/mysql
...连接数据库插入数据...
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/new4 --incremental-basedir/new3 --data-dir/var/lib/mysql
...连接数据库插入数据...
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/new5 --incremental-basedir/new4 --data-dir/var/lib/mysql
...连接数据库插入数据...
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/new6 --incremental-basedir/new5 --data-dir/var/lib/mysql
...连接数据库插入数据...
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/new7 --incremental-basedir/new6 --data-dir/var/lib/mysql[rootmysql50 ~]# ls -d /allbak/
/allbak/
[rootmysql50 ~]# ls -d /new*
/new2 /new3 /new4 /new5 /new6 /new7
三、增量恢复
1、准备恢复数据 定义合并数据的位置 [rootmysql50 ~]# scp -r /allbak root192.168.88.51:/opt
[rootmysql50 ~]# scp -r /new* root192.168.88.51:/opt
[rootmysql51 ~]# ls /opt/
allbak new2 new3 new4 new5 new6 new7
[rootmysql51 ~]# cat /opt/allbak/xtrabackup_checkpoints
backup_type full-backuped
from_lsn 0
to_lsn 23539361
last_lsn 23539361
flushed_lsn 23539361[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak# 验证合并
[rootmysql51 ~]# cat /opt/allbak/xtrabackup_checkpoints
backup_type log-applied # 此行改变 可以合并数据了
from_lsn 0
to_lsn 23539361
last_lsn 23539361
flushed_lsn 235393612、合并数据 合并的顺序要和备份的顺序一致 [rootmysql51 ~]# cat /opt/allbak/xtrabackup_checkpoints # 合并前查看数据范围
backup_type log-applied
from_lsn 0
to_lsn 23541261
last_lsn 23541261
flushed_lsn 23541261[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak --incremental-dir/opt/new2[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak --incremental-dir/opt/new3
[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak --incremental-dir/opt/new4
[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak --incremental-dir/opt/new5
[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak --incremental-dir/opt/new6
[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/opt/allbak --incremental-dir/opt/new7[rootmysql51 ~]# cat /opt/new7/xtrabackup_checkpoints
backup_type incremental
from_lsn 23543141
to_lsn 23543161
last_lsn 23543171
flushed_lsn 23543161[rootmysql51 ~]# cat /opt/allbak/xtrabackup_checkpoints
backup_type log-applied
from_lsn 0
to_lsn 23543161
last_lsn 23543171
flushed_lsn 235431613、拷贝数据 恢复数据 [rootmysql51 ~]# systemctl stop mysqld.service
[rootmysql51 ~]# rm -rf /var/lib/mysql/*
[rootmysql51 ~]# xtrabackup --copy-back --target-dir/opt/allbak
[rootmysql51 ~]# chown -R mysql:mysql /var/lib/mysql/
[rootmysql51 ~]# systemctl start mysqld.service
[rootmysql51 ~]# mysql -uroot -p123456四、恢复步骤
1、准备恢复数据 定义合并数据的位置 2、合并数据 合并的顺序要和备份的顺序一致 3、清空数据库目录 停止数据库服务 并清空数据库目录 4、拷贝数据 恢复数据 5、修改数据库目录所有者/所属组用户为mysql
6、重启数据库服务
差异备份与恢复
备份完全备份后 产生的新数据
一、差异备份
1、首次完全备份
xtrabackup --host127.0.0.1 --user用户名 --password密码 --backup --target-dir/备份目录 --datadir/数据库目录
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/fullbak --datadir/var/lib/mysql
[rootmysql50 ~]# ls /fullbak/2、差异备份
xtrabackup --host127.0.0.1 --user用户名 --password密码 --backup --target-dir/备份目录 --incremental-basedir/完全备份目录 datadir/数据库目录
[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/dir2 --incremental-basedir/fullbak
[rootmysql50 ~]# ls /dir2/...连接数据库插入数据...[rootmysql50 ~]# xtrabackup --host127.0.0.1 --userroot --password123456 --backup --target-dir/dir3 --incremental-basedir/fullbak
[rootmysql50 ~]# ls /dir3/......
二、差异恢复
1、准备恢复数据
[rootmysql50 ~]# scp -r /fullbak root192.168.88.51:/root
[rootmysql50 ~]# scp -r /dir2/ root192.168.88.51:/root
[rootmysql50 ~]# scp -r /dir3/ root192.168.88.51:/root[rootmysql51 ~]# cat /root/fullbak/xtrabackup_checkpoints
backup_type full-backuped
from_lsn 0
to_lsn 23544911
last_lsn 23544911
flushed_lsn 23544911[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/root/fullbak[rootmysql51 ~]# cat /root/fullbak/xtrabackup_checkpoints
backup_type log-applied
from_lsn 0
to_lsn 23544911
last_lsn 23544911
flushed_lsn 23544911
2、合并数据
[rootmysql51 ~]# cat /root/dir3/xtrabackup_checkpoints
backup_type incremental
from_lsn 23544911
to_lsn 23548529
last_lsn 23548539
flushed_lsn 23548529[rootmysql51 ~]# xtrabackup --prepare --apply-log-only --target-dir/root/fullbak --incremental-dir/root/dir3[rootmysql51 ~]# cat /root/fullbak/xtrabackup_checkpoints
backup_type log-applied
from_lsn 0
to_lsn 23548529
last_lsn 23548539
flushed_lsn 235485293、拷贝数据
[rootmysql51 ~]# systemctl stop mysqld.service
[rootmysql51 ~]# rm -rf /var/lib/mysql/*
[rootmysql51 ~]# xtrabackup --copy-back --target-dir/root/fullbak
[rootmysql51 ~]# chown -R mysql:mysql /var/lib/mysql
[rootmysql51 ~]# systemctl start mysqld.service
[rootmysql51 ~]# mysql -uroot -p123456三、恢复步骤
1、准备恢复数据
2、合并数据
3、清空数据目录
4、拷贝数据
5、修改数据库目录所有者/组用户为mysql
6、重启mysql服务
完全差异 数据量 备份量 周一 完全备份 1G 1G 周二 差异备份 1G2G 2G 周三 差异备份 1G2G3G 5G 周四 差异备份 1G2G3G4G 9G 周五 差异备份 1G2G3G4G5G 14G 周六 差异备份 1G2G3G4G5G6G 20G 周日 差异备份 1G2G3G4G5G6G7G 27G 完全增量 数据量 备份量 周一 完全备份 1G 1G 周二 增量备份 1G2G 2G 周三 增量备份 1G2G3G 3G 周四 增量备份 1G2G3G4G 4G 周五 增量备份 1G2G3G4G5G 5G 周六 增量备份 1G2G3G4G5G6G 6G 周日 增量备份 1G2G3G4G5G6G7G 7G 实时备份与恢复 启用mysql服务的binlog日志文件 binlog日志文件保存的是 在数据库服务里执行的数据库命令 除查询之外的所有命令数据改变记数据不改变不记 binlog日志的使用
查看正在使用的binlog日志文件
mysql show master status;
修改日志文件存放的位置和文件名
[rootmysql52 ~]# vim /etc/my.cnf.d/mysql-server.cnf
[mysqld]
......
log-bin/mylog/hmy # 添加此行[rootmysql52 ~]# mkdir /mylog
[rootmysql52 ~]# chown -R mysql:mysql /mylog/
[rootmysql52 ~]# getenforce # 不能强制模式[rootmysql52 ~]# systemctl restart mysqld.service
[rootmysql52 ~]# ls /mylog/
hmy.000001 hmy.indexmysql show master status;
-------------------------------------------------------------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
-------------------------------------------------------------------------
| hmy.000001 | 156 | | | |
-------------------------------------------------------------------------
1 row in set (0.00 sec)
手动生成日志文件
[rootmysql52 ~]# mysql -e show master status[rootmysql52 ~]# systemctl restart mysqld.service [rootmysql52 ~]# systemctl stop mysqld.service
[rootmysql52 ~]# systemctl start mysqld.service [rootmysql52 ~]# mysqldump -B db1 --flush-logs /root/db1.sqlmysql flush logs;
数据库服务里对日志管理的命令
mysql show master status; # 查看正在使用的日志
mysql show binary logs; # 查看已有的日志文件
mysql purge master logs to 日志名; # 删除编号之前的日志
mysql reset master; # 删除所有日志重新创建日志mysql show binlog events in 日志文件名; # 查看日志文件内容
#
mysql create database db10;
Query OK, 1 row affected (0.09 sec)mysql show master status;
-------------------------------------------------------------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
-------------------------------------------------------------------------
| hmy.000001 | 341 | | | |
-------------------------------------------------------------------------
1 row in set (0.00 sec)mysql show binlog events in hmy.000001;
-----------------------------------------------------------------------------------------------
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
-----------------------------------------------------------------------------------------------
| hmy.000001 | 4 | Format_desc | 1 | 125 | Server ver: 8.0.26, Binlog ver: 4 |
| hmy.000001 | 125 | Previous_gtids | 1 | 156 | |
| hmy.000001 | 156 | Anonymous_Gtid | 1 | 233 | SET SESSION.GTID_NEXT ANONYMOUS |
| hmy.000001 | 233 | Query | 1 | 341 | create database db10 /* xid53 */ |
-----------------------------------------------------------------------------------------------
4 rows in set (0.00 sec)使用日志恢复数据
把查看到的文件内容管道给连接mysql服务的命令执行
mysqlbinlog /目录名/binlog日志文件 | mysql -u用户名 -p密码
[rootmysql50 ~]# mysqldump -uroot -p123456 -B tarena --flush-logs /root/tarena.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[rootmysql50 ~]# ls /root/*.sql
/root/tarena.sql
[rootmysql50 ~]# mysql -uroot -p123456 -e show master status
mysql: [Warning] Using a password on the command line interface can be insecure.
----------------------------------------------------------------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
----------------------------------------------------------------------------
| binlog.000021 | 156 | | | |
----------------------------------------------------------------------------
[rootmysql50 ~]# mysql -uroot -p123456 -e insert into tarena.salary(employee_id,basic) values(2,10200)
mysql: [Warning] Using a password on the command line interface can be insecure.
[rootmysql50 ~]# mysql -uroot -p123456 -e show master status
mysql: [Warning] Using a password on the command line interface can be insecure.
----------------------------------------------------------------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
----------------------------------------------------------------------------
| binlog.000021 | 443 | | | |
----------------------------------------------------------------------------
[rootmysql50 ~]#
[rootmysql51 ~]# mysql -uroot -p123456 -e drop database tarena
[rootmysql51 ~]# scp 192.168.88.50:/root/tarena.sql /root/
[rootmysql51 ~]# mysql -uroot -p123456 /root/tarena.sql
[rootmysql51 ~]# mysql -uroot -p123456 -e select count(*) from tarena.salary
mysql: [Warning] Using a password on the command line interface can be insecure.
----------
| count(*) |
----------
| 8065 |
----------
[rootmysql50 ~]# mysql -uroot -p123456 -e select count(*) from tarena.salary
mysql: [Warning] Using a password on the command line interface can be insecure.
----------
| count(*) |
----------
| 8066 |
----------
[rootmysql50 ~]# scp /var/lib/mysql/binlog.000021 192.168.88.51:/root
[rootmysql51 ~]# mysqlbinlog /root/binlog.000021
[rootmysql51 ~]# mysqlbinlog /root/binlog.000021 | mysql -uroot -p123456
[rootmysql51 ~]# mysql -uroot -p123456 -e select count(*) from tarena.salary
mysql: [Warning] Using a password on the command line interface can be insecure.
----------
| count(*) |
----------
| 8066 |
----------可以通过执行日志文件里记录的命令恢复数据
mysqlbinlog /目录名/binlog日志文件 | mysql -u用户名 -p密码 文章转载自: http://www.morning.pycpt.cn.gov.cn.pycpt.cn http://www.morning.fhlfp.cn.gov.cn.fhlfp.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn http://www.morning.rlhgx.cn.gov.cn.rlhgx.cn http://www.morning.hffpy.cn.gov.cn.hffpy.cn http://www.morning.ahscrl.com.gov.cn.ahscrl.com http://www.morning.fkdts.cn.gov.cn.fkdts.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.joinyun.com.gov.cn.joinyun.com http://www.morning.mdxwz.cn.gov.cn.mdxwz.cn http://www.morning.tcsdlbt.cn.gov.cn.tcsdlbt.cn http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn http://www.morning.rqsr.cn.gov.cn.rqsr.cn http://www.morning.dyrzm.cn.gov.cn.dyrzm.cn http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn http://www.morning.pxwjp.cn.gov.cn.pxwjp.cn http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn http://www.morning.zdydj.cn.gov.cn.zdydj.cn http://www.morning.mrccd.cn.gov.cn.mrccd.cn http://www.morning.kfqzd.cn.gov.cn.kfqzd.cn http://www.morning.ykmkz.cn.gov.cn.ykmkz.cn http://www.morning.qpmmg.cn.gov.cn.qpmmg.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.dkzwx.cn.gov.cn.dkzwx.cn http://www.morning.mhybs.cn.gov.cn.mhybs.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.kwwkm.cn.gov.cn.kwwkm.cn http://www.morning.rjjys.cn.gov.cn.rjjys.cn http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn http://www.morning.lcjw.cn.gov.cn.lcjw.cn http://www.morning.xqcst.cn.gov.cn.xqcst.cn http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn http://www.morning.dmtwz.cn.gov.cn.dmtwz.cn http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.jpkk.cn.gov.cn.jpkk.cn http://www.morning.csgwd.cn.gov.cn.csgwd.cn http://www.morning.deanzhu.com.gov.cn.deanzhu.com http://www.morning.pxlql.cn.gov.cn.pxlql.cn http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn http://www.morning.lsgsn.cn.gov.cn.lsgsn.cn http://www.morning.duqianw.com.gov.cn.duqianw.com http://www.morning.nykzl.cn.gov.cn.nykzl.cn http://www.morning.mfzyn.cn.gov.cn.mfzyn.cn http://www.morning.wmlby.cn.gov.cn.wmlby.cn http://www.morning.nxwk.cn.gov.cn.nxwk.cn http://www.morning.htrzp.cn.gov.cn.htrzp.cn http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn http://www.morning.mslhq.cn.gov.cn.mslhq.cn http://www.morning.sqhlx.cn.gov.cn.sqhlx.cn http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn http://www.morning.yprjy.cn.gov.cn.yprjy.cn http://www.morning.nrll.cn.gov.cn.nrll.cn http://www.morning.xbkcr.cn.gov.cn.xbkcr.cn http://www.morning.nbwyk.cn.gov.cn.nbwyk.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn http://www.morning.pkrb.cn.gov.cn.pkrb.cn http://www.morning.hxycm.cn.gov.cn.hxycm.cn http://www.morning.sblgt.cn.gov.cn.sblgt.cn http://www.morning.ctsjq.cn.gov.cn.ctsjq.cn http://www.morning.ljdd.cn.gov.cn.ljdd.cn http://www.morning.nffwl.cn.gov.cn.nffwl.cn http://www.morning.c7500.cn.gov.cn.c7500.cn http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn http://www.morning.tbjb.cn.gov.cn.tbjb.cn http://www.morning.kfstq.cn.gov.cn.kfstq.cn http://www.morning.rxhs.cn.gov.cn.rxhs.cn http://www.morning.fslrx.cn.gov.cn.fslrx.cn