MySQL管理中遇到的問題總結

1.表中有主外鍵導致不能truncate的問題

兩種方法:

(1)關閉檢查約束

      set FOREIGN_KEY_CHECKS=0;

      truncate table  table_name;

      set FOREIGN_KEY_CHECKS=1;

(2)

         使用delete from table_name

2.DRDS中不能進行全表掃描

解決方法:

     delete from  table_name where 1=1;

3.主從複製導入數據時

防止生成binlog: set @@session.sql_log_bin=OFF;source *.sql

4.安裝gcc時出現glibc版本衝突的問題

      CentOS6.5 的機器,但使用的並不是6.5標準鏡像,也有可能將glibc升級了。

      1.使用標準鏡像搭建yum源之後,yum install gcc,發現需要glibc-*132* ,但是本機器中已經安裝了glibc-*209*。

      2.glibc這個包不能刪,也很難降級,這就很難受。

      3.試了各種方法無解之後,準備強制安裝gcc:rpm -ivh gcc* --nodeps

      4.但是使用這種方法雖然能強制安裝上gcc,但是在編譯(./configure)的時候,會出各種漏包的錯誤。

      5.漏的包(大體爲):

glibc-devel libnl libnl-devel glibc-headers openssl-devel krb5-devel zlib-devel
cpp pcre pcre-devel keyutils-libs-devel libcom_err-devel libselinux-devel libnfnetlink libnfnetlink-devel kernel-headers libtool
注:能用yum按的就用yum,不能用yum的就用rpm 強制安裝

5.應用側做壓測,發現會有段時間發生卡頓

      壓測:一共是7個前端應用,7個後端應用,每個後端應用開了600個數據庫連接

     目前的java程序連接參數:
        properties.setProperty("maxWait", "3000");
        properties.setProperty("timeBetweenEvictionRunsMillis", "60000");
        properties.setProperty("minEvictableIdleTimeMillis", "300000");
        properties.setProperty("validationQuery", "SELECT now()");
        properties.setProperty("testWhileIdle", "true");
        properties.setProperty("testOnBorrow", "false");
        properties.setProperty("testOnReturn", "false");
        properties.setProperty("poolPreparedStatements", "false");
        properties.setProperty("maxPoolPreparedStatementPerConnectionSize", "200");
        properties.setProperty("initialSize", “10”);
        properties.setProperty("maxActive", “100”);

     發現:當卡頓的時候CPU利用率下降,但是show processlist;中基本上全是sleep。

     解決:增大 max_connections爲12000。

     其實這應用那邊爲了壓測,將java程序連接參數調的有些極端了。調穩點:

                            hss.jdbc.maxActive=30
                            hss.jdbc.initialSize=15
                            hss.jdbc.minIdle=15

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章