按照重要程度划分数据库级别 | |||||
级别 | D | C | B | A | S |
影响面 | 小于10人 | 10-1000人 | 1000-100000人 | 100000-1000000人 | 1000000人以上 |
业务类型举例 | 测试/开发系统,小型OA 记账软件等 | 中型OA ERP 财务软件等 | 中大型ERP MES HRM ,大型医院HIS | 电信CRM 银行BANKING等 | 大型公共应用 如12306等 |
灾难救援价格 | 500-5000 | 5千到三万 | …
apt-get install -y percona-toolkit
# 检查重复索引
pt-duplicate-key-checker -host=’sohu.dev.chenpeng.info’
-port=’43307′ -databases=’grape’
# 运行状态监控
pt-mysql-summary -host=’sohu.dev.chenpeng.info’ -port=’43307′
-databases=’grape’
# 在线修改表结构
pt-online-schema-change -host=’sohu.dev.chenpeng.info’
-port=’3306′ -alter “ADD COLUMN c1 INT”
D=chenpeng_litchi,t=lc_operate_log -execute -print
pt-online-schema-change -host=’sohu.dev.chenpeng.info’
-port=’3306′ -alter “ENGINE=InnoDB”
D=chenpeng_litchi,t=lc_operate_log -execute -print
# 格式化explain结果
mysql -hsohu.dev.chenpeng.info -P43307 grape -e”explain SELECT
a.line_id,b.dnf_source FROM gp_report_advertiser_day a INNER JOIN
gp_line b ON a.line_id=b.id WHERE a.data_date=’2016-04-10′ LIMIT
100″ | pt-visual-explain
…
[获取更多]MySQL Binlog Server:是利用某个工具,把线上活跃的库的日志拉取到本地进行备份。在MySQL 5.6以后,可以利用mysqlbinlog这个命令去把远程机器的日志备份到本地目录,从而达到增量或是日志安全方面的备份。
做好MySQL日志的备份,是数据安全的一个重要保证。以前通过写程序来实现,从MySQL 5.6出现以后,DBA同步有福了,不用写程序了。
下面说一下binlog Server怎么构建。
利用mysql 5.6的mysqlbinlog命令,可以把远程的binlog完全镜象一份放到本地,方法如下:
Shell
1 | /usr/local/mysql/bin/mysqlbinlog-R–raw–host=192.168.11.100–user='repl'–password='repl4slave'–stop-never mysql-bin.000001& |
解释一下:
-R -read-from-remote-server …
0、导读
我们知道,MySQL里可以动态修改事务隔离级别(TRANSACTIOIN ISOLATION LEVEL),既可以加 GLOBAL 关键字直接修改全局的设置,也可以加 SESSION 关键字只修改当前会话的设置。那么,如果两个关键字都不加,会出现什么情况呢?
1、调整事务隔离级别
MySQL里,可以直接用 SET 指令调整事务隔离级别,既可以对全局调整,也可以只调整当前会话,其用法见下:
SET [GLOBAL | SESSION] TRANSACTION
[ REPEATABLE READ
| READ COMMITTED
| READ UNCOMMITTED
| SERIALIZABLE ]
我们都知道指定 GLOBAL …
[获取更多]MySQL在以下几种情况会创建临时表:
1、UNION查询; 2、用到TEMPTABLE算法或者是UNION查询中的视图; 3、ORDER BY和GROUP BY的子句不一样时; 4、表连接中,ORDER BY的列不是驱动表中的; 5、DISTINCT查询并且加上ORDER BY时; 6、SQL中用到SQL_SMALL_RESULT选项时; 7、FROM中的子查询; 8、子查询或者semi-join时创建的表;
EXPLAIN 查看执行计划结果的 Extra 列中,如果包含 Using Temporary 就表示会用到临时表。
当然了,如果临时表中需要存储的数据量超过了上限( tmp-table-size 或 …
[获取更多]问题
通常一个web应用的性能瓶颈在数据库。因为,通常情况下php中mysql查询是串行的。也就是说,如果指定两条sql语句时,第二条sql语句会等到第一条sql语句执行完毕再去执行。这个时候,如果执行2条sql语句,每条执行时间为50ms,全部执行完毕可能需要100ms。既然,主要原因是sql的串行执行导致。那我们是不是可以改变执行方式来提高性能呢?答案是,可以的。我们可以通过异步执行的方式来提高性能。
异步
如果通过异步的方式去执行,可能性能会有很大提升。如果是采用异步的方式,两条sql语句会并发执行,可能就需要60ms就可以执行完毕。
实现
mysqli + mysqlnd。php官方实现的mysqlnd中提供了异步查询的方法。分别是:
mysqlnd_async_query …
[获取更多]MySQL的主从复制广泛用于数据库备份、故障转移、数据分析等场合。
MySQL主从复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。从服务器从主服务器接收已经记录到其二进制日志的更新,当一个从服务器连接主服务器时,主服务器从日志中读取最后一次成功更新的位置,从服务器接收从那时起发生的更新,并在本机上执行相同的更新,然后等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。
测试环境
-
Master: 192.168.10.201
-
Slave: 192.168.10.202
-
端口: 3306
-
…
wamp服务器是PHP+apache+mysql在windows系统下的集成环境安装程序,可以实现在windows系统中一键搭建PHP网站环境。wamp服务器在安装好以后,默认的mysql数据库的密码是空(root用户的密码是空),空密码不是很安全,虽然默认的也只能在本机访问mysql数据库,远程是不允许访问mysql数据库的。但是,还是建议修改下mysql数据库的密码。
修改mysql数据库的密码可以通过如下方式:
图1:打开mysql控制台
登录进控制台以后:
use mysql;
update user set password = PASSWORD('newpassword') where user = 'root';
flush privileges; // 不输入这个,修改密码的操作不会生效
…
[获取更多]上一节中我们介绍了如何在CentOS 7上配置MySQL的主从复制模式,今天Lesca将介绍如何备份和还原MySQL的从服务器,平台仍然是CentOS 7。
使用mysqldump进行备份和还原 使用mysqldump进行备份
mysqladmin stop-slave -uroot -p mysqldump --all-databases > fulldb.dump mysqladmin start-slave -uroot -p tar -czf /tmp/dbdump.tar.gz ./fulldb.dump ./mysql-relay-log.info
我们除了要备份了整个数据库的dump以外,还需要备份relay-log.info文件(上例为mysql-relay-log.info),该文件包含类似如下信息:
/var/lib/mysql/mysql-relay-bin.000002 720 mysql-bin.0000023968
红色高亮部分,指明了当前MySQL主服务器上二进制日志的执行状态。这个数据在还原从服务器的时候至关重要。
使用mysqldump进行还原
mysql …[获取更多]
首先安装LNMP环境,要求PHP-5.3以上版本.
参考:http://isadba.com/?p=82 或者参考 http://isadba.com/?p=572
然后下载Anemometer
git clone https://github.com/box/Anemometer.git anemometer
配置LNMP将下载下来的anemometer部署到LAMP上面,可以通过web打开页面,会提示你没有配置网站.
mysql -uroot -p < mysql56-install.sql #导入需要的表结构
mysql -uroot -p < install.sql
#这个表结构一定要自己导进去,不然会缺少两个字段,导致不能区分主机和db.
安装percona的toolkit工具
yum install
http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum install percona-toolkit -y
修改配置文件
cd /var/www/anemometer/conf/
cp sample.config.inc.php config.inc.php
…