查看mysql數據庫中表的信息mysql
SELECT TABLE_SCHEMA as `數據庫`,table_name AS `表名`, table_type AS `類型`, engine AS `引擎`,VERSION AS`版本`,TABLE_COLLATION AS `字符集` FROM information_schema.tables where TABLE_SCHEMA='xxx' and TABLE_COLLATION='xxx' ORDER BY table_name DESC;
查看及設置binlog類型命令sql
show variables like 'binlog_format'數據庫
SET GLOBAL binlog_format = ROW;‘
服務器
查看binlog日誌內容工具
show binlog events in 'mysql-bin.000002' from pos limit 111;spa
mysqlbinlog --no-defaults --start-position=267017770 --stop-position=267018454 --base64-output=DECODE-ROWS -v mysql-bin.000218 日誌
--base64-output=DECODE-ROWS 指定binlog格式code
mysql 慢日誌分析工具命令orm
mysql/bin/mysqldumpslow -s t -t 10 log/mysql/slow.log server
mysql 違規刪除數據庫文件,恢復問題
背景:啓動數據庫時報錯(不影響啓動),報錯信息顯示數據庫文件不存在了
緣由是由於以前服務器上磁盤滿了,同事直接把不用的數據庫文件(.frm,.ibd)刪了. 注:mysql版本5.6.21
在網上搜索到的解決方案:https://yq.aliyun.com/ziliao/22686
可是在實操過程當中並無論用,可能存在場景或環境不一致的狀況
受該文章啓發我這邊也找到了解決方案
cp -a mf_0810.frm ASocket2.frm
1.隨便找了個別的表的表結構,複製成丟失的文件的名字
2.從新啓動客戶端,我用的是navicat,客戶端中會顯示出相應的表,對這些表逐一使用「右鍵刪除表」
問題解決
查看mysql 當前在執行的查詢
show procressList
select * from information_schema.processlist where db='mofangdata' order by time desc;
mysql 命令找不到時使用
ln -s /ali/server/mysql/bin/mysql /usr/bin/mysql
查看mysql當前負載
select count(*) num,user,substring(host,1,15) from information_schema.processlist group by substring(host,1,11) order by num desc;