linux編譯mysql關於mysql.sock的錯誤

來源:互聯網
上載者:User

標籤:

我編譯mysql時,都直接把mysql.sock指向了mysql/run/下面:   -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \


    提示mysql.sock檔案找不到,我總結我遇到的情況。第一種:沒有指定mysql.sock路徑,這時我們可以建一個軟連結指向該地址,或者直接更改/etc/my.cnf更改sock檔案地址


    第二種:自己的安裝順序出錯了,這裡記錄一下linux編譯mysql的步驟。

    1.wget mysql。

    2.yum 安裝cmake。mysql的安裝跟php和nginx安裝方法不一樣,他是cmake二進位編譯的。

    3到解壓目錄:

    cmake \
        -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DMYSQL_TCP_PORT=3306 \
        -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_SSL=yes

    這裡有可能報錯,看報的什麼錯誤,根據錯誤而解決錯誤。缺啥補啥 ^_^。

    4.接著就是初始化資料庫。先建立mysql使用者,mysql使用者組,把安裝目錄所屬使用者和使用者組都替換成mysql #./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql(

        這一步是產生mysql.sock檔案,如果編譯msyql,在伺服器上找不到mysql.sock,很有可能是這裡出錯了)

    5.在安裝目錄下:chown -R root .   chown mysql data  (mysql需要操作data目錄)。

    6.拷貝mysq解壓目錄l設定檔 #cp support-files/my-medium.cnf /etc/my.cnf。

    7.啟動mysql守護進程   bin/mysqld_safe --user=mysql &,(運行mysql守護進程會產生mysql.sock,這回要求mysql所產生的目錄mysql使用者必須要有許可權,否則我們是找不到mysql.sock這個檔案)這一步報錯很有可能跟上面#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql這一個命令有關,  

    沒有mysql.sock檔案,或者mysql使用者沒有msyql.sock所在目錄的許可權。

    8./bin/mysqladmin -u root password ‘123456‘,設定mysql root使用者的密碼,串連資料庫:./bin/mysql -u root -p  斷開資料庫連接:quit;

linux編譯mysql關於mysql.sock的錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.