MySQL數(shù)據(jù)庫相關(guān)操作

一、數(shù)據(jù)庫隔離級別

  • 查詢數(shù)據(jù)庫當(dāng)前隔離級別
select @@tx_isolation;
`mysql8以上`:select @@transaction_isolation;
  • 修改隔離級別
<!--
隔離級別:
READ-UNCOMMITTED(讀取未提交內(nèi)容)
READ-COMMITTED(讀取提交內(nèi)容)
REPEATABLE-READ(可重讀)
SERIALIZABLE(可串行化)
-->
set tx_isolation=‘READ-UNCOMMITTED’;

二、常用進(jìn)程、鎖命令

  • 查看進(jìn)程id
show processlist;
或
SELECT * FROM information_schema.PROCESSLIST;
  • 查詢正在執(zhí)行的進(jìn)程
SELECT * FROM information_schema.PROCESSLIST where length(info) >0;
  • 查詢正在執(zhí)行的事務(wù)
<!--
trx_state:事務(wù)狀態(tài)
trx_start:事務(wù)開始時間
trxrequestedlockid:innodblocks.lock_id
trxwaitstarted:事務(wù)開始等待的時間
trxmysqlthread_id:事務(wù)線程id
trxtableslocked:事務(wù)擁有多少個鎖
trxisolationlevel:事務(wù)隔離級別
-->
SELECT * FROM information_schema.innodb_trx;
  • 查詢是否鎖表
show OPEN TABLES where In_use > 0;
  • 查看被鎖住的
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
  • 查看等待鎖定的
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
  • 殺掉鎖表進(jìn)程
kill 進(jìn)程id
  • 查看鎖記錄等待時間
SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';

三、mysql 允許特定IP訪問

  • 測試是否允許遠(yuǎn)程連接
# 命令
telnet ip地址 mysql訪問端口號

# 出現(xiàn)以下命令說明不允許此ip訪問
host ip地址 is not allowed to connect to this mysql server
  • 允許特定客戶端ip地址連接
# 登錄mysql
mysql -u root -p
Enter password:
# 使用mysql
mysql> use mysql
# 開放指定ip訪問數(shù)據(jù)庫權(quán)限
mysql> GRANT ALL ON *.* to root@'ip地址' IDENTIFIED BY '服務(wù)器mysql密碼'; 
# 刷新權(quán)限列表
mysql> FLUSH PRIVILEGES;

四、binlog

binlog有三種模式:ROW(行模式), Statement(語句模式), Mixed(混合模式)

1.ROW(行模式):記錄那條數(shù)據(jù)修改了,注意:記錄的是這條記錄的全部數(shù)據(jù),即使只更新了一個字段,binlog里也會記錄所有字段的數(shù)據(jù);
2.Statement(語句模式): 每一條會修改數(shù)據(jù)的sql都會記錄在binlog中;
3.Mixed(混合模式):在Mixed模式下,一般的語句修改使用statment格式保存binlog,如一些函數(shù),statement無法完成主從復(fù)制的操作,則采用row格式保存binlog,MySQL會根據(jù)執(zhí)行的每一條具體的sql語句來區(qū)分對待記錄的日志形式,也就是在Statement和Row之間選擇一種。

  • 開啟和查看binlog
# 查看mysql的binlog模式
show variables like 'binlog_format'

# 查看mysql是否開啟binlog同步功能
show variables like 'log_bin';
  • binlog相關(guān)命令
#獲取binlog文件日志列表
show binary logs   

# 查看當(dāng)前正在寫入的binlog文件
show master status 

# 查看master上的binlog文件
show master logs  

#查看第一個binlog文件內(nèi)容
show binlog events 

 # 查看指定binlog文件內(nèi)容, 如:查看mysql-bin.000002文件內(nèi)容
show binlog events 'mysql-bin.000002' 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容