MySQL版本:5.6.23-enterprise-commercial-advanced ,使用rpm安裝
linux:Red Hat Enterprise Linux Server release 6.3 (Santiago)
一 、如果是linux下用rpm包安裝的mysql,修改方法如下:
MySQL默認的數據文件存儲目錄為/var/lib/mysql。假如要把目錄移到/home/data下需要進行下面幾步:
1、home目錄下建立data目錄
cd /home
mkdir data
2、把MySQL服務進程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個目錄移到/home/data
mv /var/lib/mysql /home/data/
這樣就把MySQL的數據文件移動到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、編輯MySQL的配置文件/etc/my.cnf
為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具編輯my.cnf文件,找到下列數據修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用“#”注釋此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL啟動腳本/etc/rc.d/init.d/mysql
最后,需要修改MySQL啟動腳本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注釋此行)
datadir=/home/data/mysql (加上此行)
7、重新啟動MySQL服務
/etc/rc.d/init.d/mysql start
或用reboot命令重啟Linux
以下是mysql數據目錄修改出現
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)錯誤的解決方案:
本例是將Mysql的數據目錄移動到了/home/data/下,即mysql.sock所在的真實目錄為,/home/data/mysql/mysql.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
mysql有tcp連接和socket連接方式,而上面這種錯誤一般是因為mysql是使用rpm方式安裝的,它會自動尋找 /var/lib/mysql/mysql.sock 這個文件,是一種socket連接方式。
常見解決辦法如下:
1、
創建/修改文件 /etc/my.cnf文件,在[mysqld]上面添加
[client]
#password=your_password
port=3306
socket=/home/data/mysql/mysql.sock
#在這里寫上你的mysql.sock的正確位置。
2、
指定IP地址,使用tcp方式連接mysql,而不使用本地socket方式
#mysql -h127.0.0.1 -uuser -ppassword
3、
為 mysql.sock 加個連接,比如說實際的mysql.sock在 /home/data/mysql/ 下,則
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock即可
[root@rusky lib]# ln -s /opt/data/mysql/mysql.sock /var/lib/mysql/mysql.sock ln: 創建符號鏈接 "/var/lib/mysql/mysql.sock": 沒有那個文件或目錄
由於/var/lib/mysql整個目錄被mv了,所以需要在/var/lib/目錄下創建mysql目錄,再創建符號鏈接就可以了。
*****************************如果是在unbuntu系統下用如下方法***********************
關閉數據庫服務
service mysql stop
建新數據庫目錄
mkdir /media/hda11/db
復制linux下原數據到新目錄下
cp -pR /var/lib/mysql /media/hda11/db/
修改文件/etc/apparmor.d/usr.sbin.mysqld
gedit /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/media/hda11/db/mysql r,
/media/hda11/db/mysql/** rwk,
修改目錄
gedit /etc/mysql/my.cnf
如
datadir = /var/lib/mysql換成datadir = /media/hda11/db/mysql
再開服務器
/etc/init.d/apparmor restart
servcie mysql start
====================
FROM:http://blog.163.com/anonymous_ch/blog/static/206824190201391842558553/
