`
文章列表

规范、经验

尽量不用NULL列 query cache:读写比例决定 innodb索引一定要在后面加上主键列 参数配置 inno_lock_table:导致死锁的重现方式 自增长:innodb_autoinc_lock_mode=2插入性能最高    AUTO-INC locking完成插入后立即释放,不等事务结束    分类: ...
在linux内部将cache分为2种: 1、write/read cache 2、mmap   http://blog.chinaunix.net/uid-26669729-id-3077015.html 通常一个文件被映射到内存后,就会一直占用,直到文件句柄关闭才会释放 我们调用drop cache会释放1,但是2是释放不了的。 # drop cache http://www.linuxfly.org/post/320/ 1、执行sync:将所有未写的系统缓冲区写到磁盘中 2、echo 3 > /proc/sys/vm/drop_caches:清除cache    1: 清除 pag ...
去年从阿里巴巴面试DBA归来后,然后再结合老金的题目,出了招聘MySQL DBA的第一轮基础面试题目,欢迎大家补充: 【转载】http://blog.csdn.net/mchdba/article/details/13505701 1, mysql的复制原理以及流程。     (1)先问基本原理流程,3个线程以及之间的关联。     (2)再问一致性延时性,数据恢复。     (3)再问各种工作遇到的复制bug的解决方法 2, mysql中myisam与innodb的区别,至少5点。      (1) 问5点不同      (2) 问各种不同mysql版本的2者的改进      ...
[ACID]A:atomicityC:consistencyI:isolationD:durability1. 请用图框的方式大致地描绘出MySQL架构体系.    第一层: client Connector ODBC、jdbc、api(C/JAVA/PERL/PYTHON/PHP) 第二层:MYSQL server 模块 thread connection pool/cache sql interface(DDL/ DML/ TRIGGER/ VIEW /STORE PROCEDURE/ EVENT等) sql parse & ...
阿里巴巴DBA 这些问题来着阿里巴巴DBA面试,你能回答多少呢?也许你能回答出来,距离DBA,你又进了一步。下面也请你来试试吧,问题后面会附上该题的一份答案,不一定完全正确,仅供参考。 第一轮:SQL tuning 类 1:列举几 ...

pt-tool使用

pt-summary    收集各种系统信息及统计数据    操作系统、CPU、内核版本、编译器、内存、硬盘分区/挂载、网卡    运行时间、负载 pt-mysql-summary    查询mysql各种状态信息 pt-mysql-summary --host=localhost --user=root --password=XX --socket=/home/bbq/mysql/mysql-3307/data/mysql-3307.sock --defaults-file=/home/bbq/mysql/mysql-3307/cnf/my.cnf --databases=all-d ...
将主从(3307主--3309从)切换 前提:3307正常 一、将3307设为只读。命令行操作 # 修改配置文件 vim /home/bbq/mysql/mysql-3307/cnf/my.cnf # 在[mysqld]中增加 read_only # 重启3307 service mysqld3307 restart 二、等待从库执行完主库的所有sql。mysql客户端操作 # 3307执行: show master status # 记录File、Position # 3309执行: select master_pos_wait(File, Position); ...
将主从(3307主--3309从)切换 前提:3307宕机 一、等待从库执行完主库的所有sql # 检查主库的sql是否在从库上都执行完。mysql客户端操作 #3308执行:SHOW PROCESSLIST; 其中一个user='system user'的线程 如果State值为"Reading event from the relay log",代表正在执行主库同步的中继日志sql 如果State值为"Slave has read all relay log; waiting for the slave I/O thread to update ...
将主主(3307写--3308读)切换 前提:3307宕机 一、修改配置文件。命令行操作 vim /home/bbq/mysql/mysql-3308/cnf/my.cnf # 在[mysqld]中删除 # read_only 二、重新启动mysqld3308。命令行操作 service mysqld3308 restart 三、检查主库的sql是否在从库上都执行完。mysql客户端操作 #3308执行:SHOW PROCESSLIST; 其中一个user='system user'的线程 如果State值为"Reading event from the rel ...
将主主(3307写--3308读)切换 前提:停止业务,3307上不再有任何写操作 一、将3307设为只读。命令行操作 # 修改配置文件 vim /home/bbq/mysql/mysql-3307/cnf/my.cnf # 在[mysqld]中增加 read_only # 重新启动mysqld3307 service mysqld3307 restart 二、检查主库的sql是否在从库上都执行完。mysql客户端操作 # 方法一 # 3308(读转写)执行 SHOW PROCESSLIST; 其中一个user='system user'的线程 如果State值为"Readi ...
搭建主(mysqld3307,生产库) --> 从(mysqld3309) # 备份mysqld3307数据。最好在生产库压力小的时候进行 mysql-3307/install/bin/mysqldump -uroot -p -A --flush-logs --lock-all-tables --master-data=1 > ./bak_3307.sql # 授权同步账户 mysql-3307/install/bin/mysql -uroot -ppwd -e "GRANT REPLICATION SLAVE on *.* to 'repl'@'%' identifi ...
一、一台机器安装两个实例(3307、3308) 按照http://babaoqi.iteye.com/admin/blogs/1954110方法搭建mysqld3308 二、搭建双主:3307、3308(只读) # 关闭两个mysql服务 service mysqld3307 stop; service mysqld3308 stop; # 配置3307 my.cnf vim /home/bbq/mysql/mysql-3307/cnf/my.cnf log-bin=mysql-bin binlog_format=mixed auto_increment_increment=2 auto ...
一、构建环境 # 建立安装需要的目录 cd /home/bbq/mysql/mysql-3307 mkdir install  -- 安装目录 mkdir data     -- 数据文件目录 mkdir cnf      -- 配置文件目录 # 授予mysql用户文件读写权限 chown -R mysql:mysql install data cnf 二、源代码配置、编译和安装 # 进入源代码目录 cd /home/bbq/mysql/src-code/mysql-5.5.29 # 清除之前build产生的数据 make clean rm -f CMakeCache.txt # 配置 ...

mysql模拟队列

-- 初始化数据 DROP TABLE IF EXISTS t_msg_queues; CREATE TABLE t_msg_queues( msg_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, msg_content VARCHAR(255) NOT NULL, owner_thread_id INT NOT NULL DEFAULT -1, PRIMARY KEY (msg_id) )ENGINE=INNODB DEFAULT CHARSET=utf8; SET @maxRandom = POWER(10,6); INS ...
$$$ 数据类型 索引列尽量是 NOT NULL 实数 浮点类型(float(4字节)、double(8字节))和decimal类型(转为double计算) cpu可以直接计算浮点类型,但不能计算decimal类型 每4个字节保存9个数字,小数点1个字节 varchar(N)存储长度: N+额外长度(1字 ...
Global site tag (gtag.js) - Google Analytics