mysql主键加锁顺序
在MySQL中,主键加锁的顺序是按照主键的顺序进行的。当执行一个查询或更新操作时,MySQL会根据查询条件或更新语句中涉及的主键来确定需要加锁的行。
如果查询或更新语句中涉及多个主键,MySQL会按照主键的顺序依次加锁。这个顺序是根据主键的定义顺序来确定的,通常是按照表的创建顺序或者主键的定义顺序来排序。这样可以确保在并发操作中,不同的事务按照相同的顺序加锁,避免死锁的发生。
如何查看MySQL配置文件的读取顺序
(1)先查看mysqld服务进程所在位置:(msyql 启动与否都可以查到)#which mysqld确保mysqld是存在的。
(2)使用mysqld命令执行以下命令:# mysqld --verbose --help | grep -A 1 'Default options'之后可以看到类似以下的结果:
Default options are read from the following files in the given order:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf那么,就可以从结果中知道mysqld服务启动时候,配置文件的读取顺序了。
如何查询mysql的执行记录
-- 打开sql 执行记录功能set global log_output='TABLE'
; -- 输出到表set global log=ON; -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.set global log_slow_queries=ON; -- 打开慢查询 sql 记录slow_log, 执行成功的: 慢查询语句和未使用索引的语句set global long_query_time=0.1; -- 慢查询时间限制(秒)set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql 语句-- 查询sql 执行记录select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未使用索引的语句select * from mysql.general_log order by 1; -- 所有语句: 成功和未成功的.-- 关闭sql 执行记录

