国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

linux下MYSQL常見兩個錯誤的解決辦法

2024-07-24 12:55:57
字體:
來源:轉載
供稿:網友

最大的網站源碼資源下載站,

error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2)

解決方法:

1)默認的mysql.sock文件是在/tmp目錄下。
2)我們建立一個軟連接,ln -s /tmp/mysql.sock  /var/lib/mysql/mysql.sock

問題2:timeout error occurred trying to start mysql daemon.
#/etc/init.d/mysqld restart
stopping mysql     [ok]
timeout error occurred trying to start mysql daemon.  [failure] 
但是這個時候mysql實際上已經起動了,因為用netstat -ln命令去看3306端口已經起動.使用mysql -u root -p password也能連接到數據庫.

解決方法:
修改/etc/init.d/mysqld.
在mysql里創建dameon用戶,然后再修改/etc/init.d/mysqld.

具體操作如下:

我們不妨先看看/etc/init.d/mysqld起動腳本是如何工作的,注意下面的一段

# if you've removed anonymous users, this line must be changed to

        # use a user that is allowed to ping mysqld.

        ping="/usr/bin/mysqladmin -uunknown_mysql_user ping"

        # spin for a maximum of ten seconds waiting for the server to come up

        if [ $ret -eq 0 ]; then

            for x in 1 2 3 4 5 6 7 8 9 10; do

            if [ -n "`$ping 2> /dev/null`" ]; then

                    break;

            else

                    sleep 1;

            fi

            done

            if !([ -n "`$ping 2> /dev/null`" ]); then

                    echo "timeout error occurred trying to start mysql
daemon."                    action $"starting $prog: " /bin/false

            else

                    action $"starting $prog: " /bin/true

            fi

        else

            action $"starting $prog: " /bin/false

        fi

        [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld

        return $ret 

    我們看到,腳本判斷mysql是否起動,使用的是mysqladmin ping命令.

    而這個命令想要正確執行是需要能夠登錄mysql的.現在一些默認帳號已經刪除,而且其它帳號已經設置了密碼(默認沒有設置密碼).于是它沒有辦法連接到mysql.
   于是我用了下面的辦法解決.

   a)建立一個帳號,不設置密碼,不給任何權限.

   b)修改/etc/init.d/mysqld

   下面我給出具體操作

   #mysql -u root -p passwd

   mysql>grant select on test.* to [email protected]

   mysql>revoke select on test.* from [email protected] 

   vi打開/etc/init.d/mysqld

   把下面這行

   ping="/usr/bin/mysqladmin -uunknown_mysql_user ping" 


   修改為

   ping="/usr/bin/mysqladmin -udaemon ping" 


  保存,退出.

  重新起動mysql

  #/etc/init.d/mysqld restart

  stopping mysql:                                            [  ok  ]

  starting mysql:                                            [  ok  ] 
 

  這樣就可以了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赞皇县| 台江县| 美姑县| 饶平县| 西乌珠穆沁旗| 闻喜县| 平远县| 湘潭县| 新绛县| 成武县| 望谟县| 小金县| 商南县| 汕尾市| 长丰县| 乌拉特中旗| 沅江市| 大荔县| 沂南县| 东海县| 河北区| 南丹县| 资兴市| 伊吾县| 诸暨市| 泽库县| 德安县| 西充县| 周至县| 绍兴市| 法库县| 涿州市| 库伦旗| 西盟| 新源县| 通海县| 乐平市| 建阳市| 巫山县| 广平县| 伊川县|