xyaxlz 发表于 2013-2-20 10:35:50

使用mysql 三种的常见问题

本帖最后由 xyaxlz 于 2013-2-20 10:46 编辑

1、 服务器内存远大于4G,系统却使用了32位系统。Mysql在32为系统下理论上可以使用的内存是4G,实际生产过程buffer pool的最大值在2.5G左右。这样多余的内存无法被mysql使用,降低了资源的利用率,也会间接地提高运营成本。、


2、 生产环境中使用mysql5.0版本数据库做主从复制。如果在主上执行含有 load_file(),uuid(),user(),found_rows(),sysdate()的函数会造成主从数据不一致。
uuid(),sysdate()为例做以下测试。1)   主从数据库版本均为5.0.41
http://www.mysqlpub.com/data/attachment/album/201302/20/104330fu6ww2ufyzqztwlt.png

2)   在主上建表t1create table t1(uid varchar(36),ctime datetime); http://www.mysqlpub.com/data/attachment/album/201302/20/104330xdqbukqk57qkuria.png


3)   插入一条数据insert into t1 values(uuid(),sysdate());http://www.mysqlpub.com/data/attachment/album/201302/20/104331ctp092rd91f1hhbl.png


4)   主从数据对比:主从数据不一致。http://www.mysqlpub.com/data/attachment/album/201302/20/104331rcacanu18prap6vg.pnghttp://www.mysqlpub.com/data/attachment/album/201302/20/104331shhxhkqhqe86oleo.png


3、 主从复制时使用参数replicate_do_db指定复制特定的库。在这种情况下对数据库的更新操作应先use到指定的库中,再对数据库进行更新操作否则会造成主从数据不一致。
还原造成主从数据库不一致的测试:1、 主从复制指定了只复制db1,db2两个库。http://www.mysqlpub.com/data/attachment/album/201302/20/104331jga042ggsaqgwm00.png


2、 在主上不use到任何库中执行create table db1.t2(id int);建表语句。http://www.mysqlpub.com/data/attachment/album/201302/20/104331hcqsnxos7dii7qti.png    在主上已经显示建表t1成功。   http://www.mysqlpub.com/data/attachment/album/201302/20/104331o629zquu8z696b66.png

3、 在从上观察无任何表建立。http://www.mysqlpub.com/data/attachment/album/201302/20/104331hydxrbvzfcpyrv33.png并且主从复制无报错http://www.mysqlpub.com/data/attachment/album/201302/20/104332q9cp1o9ycmc919ya.png

kider 发表于 2013-2-20 11:07:51

好贴

Lǐn-credible 发表于 2013-2-21 09:01:24

nice {:soso_e100:}

vincentcjh 发表于 2013-3-8 15:53:26

页: [1]
查看完整版本: 使用mysql 三种的常见问题