3 回答

TA貢獻1817條經(jīng)驗 獲得超6個贊
mysql.sock文件是服務器與本地客戶端進行通信的Unix套接字文件
具體的/etc/my.cnf有配置
如果是這個報錯起不來主要看下配置文件是否有錯誤。

TA貢獻1856條經(jīng)驗 獲得超5個贊
修改/etc/my.cnf
[mysqld]
datadir=/database/mysql
socket=/database/mysql/mysql.sock
[client]
socket=/database/mysql/mysql.sock

TA貢獻1825條經(jīng)驗 獲得超6個贊
1.停止數(shù)據(jù)庫服務:
使用/etc/init.d/mysql stop 或者 stop mysql
2. 在目標位置(/data)創(chuàng)建數(shù)據(jù)庫文件的目錄(如/mysqldb),并復制(如果不再使用默認的位置,則可以直接mv原先數(shù)據(jù)庫文件到新目錄下)原先的數(shù)據(jù)庫文件目錄到該目錄下:
cd /data
mkdir mysqldb
cp -r /var/lib/mysql /data/mysqldb/
經(jīng)過一段時間的等待后,在/data/mysqldb/下面就有了原先默認的mysql數(shù)據(jù)庫文件目錄的拷貝“/mysql”
3.修改my.cnf文件
# vim /etc/mysql/my.cnf
將datadir = /var/lib/mysql 改為 datadir = /data/mysqldb/mysql
另外由于當前my.cnf 中的socket = /var/run/mysqld/mysqld.sock(而并非像網(wǎng)上所說的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在數(shù)據(jù)庫文件所在的位置,因此可以不做類似網(wǎng)上其他網(wǎng)頁所說的,要使用以下的命令做一個mysql.sock 鏈接:
ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要從/home/data/mysql下復制一份過來)
4. 修改數(shù)據(jù)庫的權限:
# chown -R mysql:mysql /data/mysqldb/mysql/ ← 改變數(shù)據(jù)庫文件目錄的歸屬為mysql
# chmod 700 /data/mysqldb/mysql/whois/ ← 改變數(shù)據(jù)庫目錄whois的屬性為700
# chmod 660 /data/mysqldb/mysql/whois/* ← 改變數(shù)據(jù)庫中數(shù)據(jù)表的屬性為660
5. 修改文件usr.sbin.mysqld
# vim /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/data/mysqldb/mysql/ r,
/data/mysqldb/mysql/** rwk,
注意:沒有該步驟的話,將導致數(shù)據(jù)庫服務無法重啟,好像在重啟,但是一直卡住無反應。
6.啟動mysql服務器
/etc/init.d/apparmor restart
/etc/init.d/mysql restart (或者使用 restart mysql)
添加回答
舉報