簡體   English   中英

如何在ubuntu 12.04中更改mysql數據目錄

[英]how to change mysql data directory in ubuntu 12.04

我正在嘗試更改mysql的數據目錄。 我正在使用12.04 ubuntu。但是我在mysql啟動時出現了geting錯誤。 錯誤是“開始:作業無法啟動”。

我嘗試過以下事情

停止mysql服務器:

stop mysql

創建新目錄:

mkdir /array2/mysql

僅復制數據庫文件夾:

cp -R /var/lib/mysql /array2/mysql
cp -R /var/lib/mysql/users /array2/mysql

備份my.cnf文件:

cp /etc/mysql/my.cnf /root/my.cnf.backup

編輯my.cnf文件:

nano /etc/mysql/my.cnf

將舊datadir和套接字的所有提及更改為新位置

我成了:

datadir=/array2/mysql
socket=/array2/mysql/mysql.sock

更新目錄權限:

chown -R mysql:mysql /array2/mysql

重命名舊目錄:

mv /var/lib/mysql /var/lib/mysql-old

創建一個符號鏈接,以防萬一:

ln -s /array2/mysql /var/lib/mysql 

讓AppArmor了解新的datadir:

echo "alias /var/lib/mysql/ -> /your/new/datadir/," >> /etc/apparmor.d/tunables/alias

重新加載apparmor配置文件

sudo /etc/init.d/apparmor reload

然后啟動mysql:

start mysql

我一直在查看您的更改,並且不需要執行符號鏈接,套接字更改和/或刪除舊目錄。 請按照以下步驟操作。

service mysql stop
cp -R /var/lib/mysql /array2/mysql
chown -R mysql.mysql /array2/mysql

現在備份/etc/my.cnf然后編輯數據目錄變量

datadir                                 = /array2/mysql

編輯apparmor規則,通常在/etc/apparmor.d/usr.sbin.mysqld中,在/ usr / sbin / mysqld group中添加以下行:

/array2/mysql/ r,
/array2/mysql/** rwk,

重新加載app armor並啟動mysql服務

service apparmor restart
service mysql start

問候,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM