標籤:
我編譯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的錯誤