場景:MySQL 數據庫的數據文件默認安裝的路徑在/var/lib/mysql,但是實際中,我們在安裝時常常就需要定制安裝數據庫路徑,比如/data/mysql,或者/opt/mysql,通常是一個單獨的一塊盤或者分區,這樣有利于性能調優和保護數據安全,同時也方便進行維護。
步驟:
Stop MySQL:
service mysql stopChange Data Directory:
// 新建文件夾用于存放數據,并把mysql默認的數據文件拷貝至此文件夾mkdir -p /datacp -rap /var/lib/mysql /data 或者 mv /var/lib/mysql /data// 改變新建文件夾的屬主chown -R -v mysql:mysql /data/mysql// 現在編輯MySQL的默認配置文件/etc/my.cnf 修改datadir和socketvariable。vi /usr/my.cnfChange From: datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock Change To: datadir=/data/mysql socket=/data/mysql/mysql.sock為mysql.sock加連接:
// 比如說實際的mysql.sock在 /data/mysql/mysql.sock 下ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock;Start MySQL:
service mysql startQ&A:
Q:以下是mysql數據目錄修改出現: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ ,本例是將Mysql的數據目錄移動到了/home/data/下,即mysql.sock所在的真實目錄為/home/data/mysql/mysql.sock,mysql有tcp連接和socket連接方式,而上面這種錯誤一般是因為mysql是使用rpm方式安裝的,它會自動尋找 /var/lib/mysql/mysql.sock 這個文件,是一種socket連接方式。
A:常見解決辦法如下:
創建/修改文件 /etc/my.cnf文件,在[mysqld]上面添加:
[client]// passWord=your_passwordport=3306// 在這里寫上你的mysql.sock的正確位置socket=/home/data/mysql/mysql.sock指定ip地址,使用tcp方式連接mysql,而不使用本地socket方式:
mysql -h127.0.0.1 -uuser -ppassword為 mysql.sock 加個連接,比如說實際的mysql.sock在 /home/data/mysql/ 下,則:
ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock新聞熱點
疑難解答