表示 进入内容 1113
« 先前的 10 新的记录
Displaying posts with tag: MySQL初级应用 (reset)
数据库分表后,并发环境下,生成全局id生成的几种方式

   最近一个项目由于数据量变大,需要进行数据分表。数据存储在淘宝的tddl上。分表后,原先的自增id就不能使用了。tddl对java支持很好,分表后无需考虑全局id的问题。但是这个项目使用的是php进行开发,必须自己生成全局id。以下列出几种分表方案,仅当抛砖引玉。

   方法1:使用CAS(compare and swap)

   其实这里并不是严格的CAS,而是使用了比较交换原子操作的思想。

   生成思路如下:

   每次生成全局id时,先从sequence表中获取当前的全局最大id。然后在获取的全局id上做加1操作。把加1后的值更新到数据库。更新时是关键。

   如加1后的值为203,表名是users,数据表结构如下:

CREATE TABLE `SEQUENCE` (
    `name` varchar(30) NOT NULL COMMENT '分表的表名',
    `gid` …
[获取更多]
RDS控制台之MySQL系统资源监控

   RDS控制台提供了多种系统资源监控项,本文介绍MySQL实例各个性能指标的意义及计算方法,希望用户能更清楚如何使用RDS对实例进行性能监控。绝大多数MySQL性能指标可以通过以下两种方式获取:

   (1)mysqladmin

   使用mysqladmin extended-status命令获得的MySQL的性能指标,默认为累计值。如果想了解当前状态,需要进行差值计算;加上参数 -relative(-r),就可以看到各个指标的差值,配合参数-sleep(-i)就可以指定刷新的频率。

   

   

   (2)Show global status

  …

[获取更多]
MySQL的主从复制

   如果数据库只有一份,那就是数据存储的单点,对于要求可靠性的服务来说,就存在一个单点故障的可能性,这个时候,我们就要通过复制镜像,来解决单点故障。复制还有一个额外的好处,就是可以根据主从,做读写分离,这样,就不会在写入的时候,因为锁表,而降低MySQL的并发性能,所以MySQL复制是MySQL中非常基础的一种操作。

怎么配置 配置Master

   首先,要做的是确定一个Master,对于充当Master的MySQL Server来说,需要一些特定的配置才能实现,一个是开启binlog,另一个是要设置server-id。

   [mysqld]

   log_bin = mysql-bin

   server-id = 1

   

配置Slave

  …

[获取更多]
表示 进入内容 1113
« 先前的 10 新的记录