mysql 调优可能用到的参数

锁的相关操做
show open tables;
lock table tb_item read ,tb_content WRITE;
UNLOCK TABLES;

order by发送filesort的对应策略
1,给order by字段添加索引
2,调高sort_buffer 使得可以将数据一次性都读进buffer,太小会致使溢写到不少tmp文件到磁盘
3,调高max_length_for_sort_data 大小

查看表状态
show status like 'table%'

若是索引使用不当,可能致使行锁变表锁,好比:在更新索引字段为string但在传参时传入的是int类型,则会致使行锁变表锁

当咱们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫作“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(GAP LOCK)

锁定具体一行
select * from tb_user u where u.id=9 for update;
提交之后会自动释放锁

 

查看数据的默认隔离级别
show VARIABLES like 'tx_isolation'
对索引的误操做可能致使表锁

查看性能
show profiles
查看指定行的性能
show profile cpu ,block io for query 18

查看innodb 锁的详情
show status like 'innodb_row_lock%';

mysql主从复制mysql

master配置sql

slave 配置上数据库

受权给一个用户让其能够从master上复制数据
GRANT replication SLAVE on *.* TO 'zhangsan'@'从机器数据库ip' IDENTIFIED by '1234'

查看master数据的状态
show MASTER status;

根据上面的数据配置slave
GRANT MASTER TO MASTER_HOST='192.168.43.12',
MASTER_USER='zhangsan',
MASTER_PASSWORD='1234',
MASTER_LOG_FILE='mysqlbin.00035',
MASTER_LOG_POS=323

启动slave
start slave

查看slave状态
show slave status;

slave_io_running和slave_sql_running 必须为yes,不然仍是配置失败

中止从数据库
stop slave

GRANT replication SLAVE on *.* TO 'zhangsan'@'从机器数据库ip' IDENTIFIED by '1234'bash

相关文章
相关标签/搜索