使用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 好贴 nice {:soso_e100:}
页:
[1]