日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

MySQL DBA 管理 常用 命令 | 無影的博客

 wisejenny 2009-04-16

MySQL DBA 管理 常用 命令

Filed under: 數(shù)據(jù)庫 |
Posted on

雖然自己不是DBA,但是作為一個程序員,多多少少,應(yīng)該了解一些數(shù)據(jù)庫方面的東西,并不能只關(guān)心程序,不考慮數(shù)據(jù)庫,看到一篇文章,就先轉(zhuǎn)過來,也許以后自己哪天會用到。

查看mysql的某個選項
show variables like ‘%VAR_NAME%’;
select @@VAR_NAME;

    在Linux下管理MySQL數(shù)據(jù)庫的時候總有一些很緊急的情況,發(fā)現(xiàn)數(shù)據(jù)庫突然變得壓力很大了,那么作為一個DBA,也許需要一些常用的手段或者說命令去分析問題出現(xiàn)在哪里,然后解決:

數(shù)據(jù)庫突然產(chǎn)生壓力時查看正在查詢的SQL:(如果這里內(nèi)容太多表示并發(fā)執(zhí)行的SQL過多,或許數(shù)據(jù)庫堵塞了,會越來越慢,正常情況下這里應(yīng)該很少有東西的,也就是連接都在Sleep狀態(tài))
/usr/local/mysql/bin/mysql -uroot -ppassword databaseName  -e “show full processlist” | grep -v Sleep

正在運行的SQL太多了,看不過來,那需要排序了,看持續(xù)執(zhí)行時間最長的那些SQL:
/usr/local/mysql/bin/mysql -uroot -ppassword databaseName  -e “show full processlist” | grep -v Sleep | sort -k6rn >sort.tmp

如果發(fā)現(xiàn)IOWait很高,請查看臨時表的生成情況,特別是disk tmp table:
/usr/local/mysql/bin/mysql -uroot -ppassword databaseName  -e “show global status like ‘%tmp%’”

通過這樣一些辦法可以查看數(shù)據(jù)庫都在忙什么,那些忙的SQL又具體在哪一個步驟上卡住了,是在創(chuàng)建磁盤臨時文件、Sending Data、statistics?依照不同的原因來解決問題

—————————————————————
關(guān)于Mysql Replication日常管理,重做,問題分析時常用的辦法:

重做Slave,或者M(jìn)aster變化等等,需要將Slave與新的Master同步:
change master to master_host=IP,master_user=’replication userName’,master
_password=’replication Passwrod’,master_log_file=’log-bin.000001′,master_log_pos=0;

導(dǎo)出數(shù)據(jù)成SQL文本,慎用,根據(jù)你的DB大小會鎖表,導(dǎo)致堵塞其他訪問:
nohup /usr/local/mysql/bin/mysqldump –database DATABASEName -uUserName -pPassWord –lock-all-tables -F >DATA20070519.sql &
-F后會刷新Master Log這樣配合上面的Change Master可以讓Slave進(jìn)行同步

只導(dǎo)出數(shù)據(jù)庫的結(jié)構(gòu)(沒有任何內(nèi)容)
/usr/local/mysql/bin/mysqldump -d DATABASEName -uUserName -pPassWord >DATA20070519.structure

只導(dǎo)出數(shù)據(jù)庫的數(shù)據(jù)(沒有創(chuàng)建表結(jié)構(gòu)的語句等等)
/usr/local/mysql/bin/mysqldump -t DATABASEName -uUserName -pPassWord >DATA20070519.data

同步的時候出現(xiàn)問題(或者其他問題)了,根據(jù)同步出現(xiàn)問題的位置(偏移量),查看Binlog的具體內(nèi)容
/usr/local/mysql/bin/mysqlbinlog binlogFileName –start-position=偏移量
呵呵,我們碰到過Master執(zhí)行的SQL到了Slave會報語法錯誤,夠詭異吧!不過就是這樣查到了原因:如果通過存儲過程將bit的內(nèi)容改為1就會出現(xiàn)這樣的問題,后來將bit改為tinyint(1)就好了

授權(quán)給某一臺Slave擁有復(fù)制的權(quán)限:
grant replication slave on *.* to 用戶名@IP identified by ‘密碼’;

查看Slave狀態(tài):
Show slave status \G
查看Master狀態(tài):
Show master status;
重置Slave(慎用)
reset slave;
Slave出現(xiàn)問題了,先跳過這一條語句(請確認(rèn)所要跳過的具體內(nèi)容不會影響后面的同步,確認(rèn)方法查看Binlog文件):
set global sql_slave_skip_counter=1; (記得先暫停Slave:stop slave; 然后重啟Slave:start slave;)

———————————————–
純粹Linux相關(guān)的:
tcpdump -A “dst port 3306″ 查看3306端口的通信具體內(nèi)容 :) 

轉(zhuǎn)自:http://mrtips.blog.hexun.com/5904126_d.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多