CentOS 更改MySQL數據庫目錄位置
由於MYSQL的數據庫太大,默認安裝的“/var”盤已經再也無法容納新增加的數據,沒有辦法,只能想辦法轉移數據的目錄。
以下是將MYSQL數據庫默認安裝目錄從“/var/lig/mysql”目錄轉移到“/home/mysql_data/”目錄具體操作流程:
通過用”YUM”安裝“MYSQL”數據庫,安裝目錄爲默認路徑:”/var/lib/mysql”
啓動“MYSQL”數據庫
[root@localhost ~]#service mysqld start
設置“MYSQL”數據庫登錄密碼
[root@localhost ~]#mysqladmin –uroot password 123
登錄測試“MYSQL”可否正常登錄
[root@localhost ~]#mysql –uroot –p123
創建所需的測試數據庫
Mysql>create databases ceshi;
Mysql>show databases;
進入測試數據庫,創建表
Mysql>use ceshi;
Mysql>create table mytable (name varchar(20),sex char(1),birth date,home varchar(30));
Mysql>show tables;
向表裏增加數據
Mysql>insert into mytable values(’zhangsan’,’m’,’1977-05-16’,’china’);
Mysql>insert into mytable values(’lisi’,’m’,’1988-09-25’,’china’);
Mysql>select * from mytable;
到此!開始做“MYSQL”數據庫目錄位置的遷移
1. 關閉“MYSQL”
[root@localhost ~]#service mysqld stop
2. 創建遷移後數據庫所要放置的目錄
[root@localhost ~]#mkdir /home/mysql_data
3. 轉移數據,把默認安裝目錄【/var/lib/mysql】拷貝的新創建的數據目錄【/home/mysql_data】下
[root@localhost ~]#cd /var/lib
[root@localhost lib]#cp -arp mysql /home/mysql_data
【注:-a這個參數保持原因文件的權限;-r連同目錄一塊複製】
[root@localhost ~]#cd /home/mysql_data/mysql
4. 修改配置文件,一共有三處:
修改第一處文件:修改之前先備份原有文件
[root@localhost ~]#cp /etc/my.cnf /etc/my.cnfbak
修改數據存放目錄:
原來存放路徑:【datadir=/var/lib/mysql】
è
現在存放路徑:【 datadir=/home/mysql_data/mysql】
原來存放路徑:【socket=/var/lib/mysql/mysql.sock】
è
現在存放路徑:【socket=/home/mysql_data/mysql/mysql.sock】
【注:爲了安全,可以將原來的註釋掉,重新加入一行。】
[root@localhost ~]#vim /etc/my.cnf
5. 修改第二個文件:修改之前先備份原有文件
[root@localhost ~]#cp /etc/init.d/mysqld /etc/init.d/mysqldbak
修改數據目錄:
原來存放路徑【/var/lib/mysql】
è
現在存放路徑【/home/mysql_data/mysql】
【注:準確的位置是/etc/rc.d/init.d/mysqld,由於這裏這裏有一個/etc/init.d到/etc/rc.d/init.d的映射,】
[root@localhost ~]#vim /etc/init.d/mysqld
6. 修改第三處文件:修改之前先備份原有文件
[root@localhost ~]#cp /usr/bin/mysqld_safe /usr/bin/mysqld_safebak
修改數據目錄:
原來存放路徑【/var/lib/mysql】
è
現在存放路徑【/home/mysql_data/mysql】
[root@localhost ~]#vim /usr/bin/mysqld_safe
7. 啓動“MYSQL”服務
[root@localhost ~]#service mysqld start
8. 啓動“MYSQL”服務後需要建立一個mysql.sock的鏈接:
Ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock
9. 查看進程“MYSQL”運行的是否爲修改後的路徑
[root@localhost ~]#ps –ef | grep mysql
測試可否正常登錄數據庫
[root@localhost ~]#mysql -uroot -p
10. 測試向表中插入數據:
插入數據前“mytable”表中的數據
Mysql>select * from mytable;
向“mytable”表中插入一條新數據
Mysql>insert into mytable values (’wangwu’,’m’,’1985-09-15’,’china’);
11. 最後修改下數據庫的權限
[root@localhost ~]# chown -R mysql:mysql /home/data/mysql/
注: 改變數據庫的歸屬爲mysql
[root@localhost ~]# chmod 700 /home/data/mysql/test/
注: 改變數據庫目錄屬性爲700
[root@localhost ~]# chmod 660 /home/data/mysql/test/*
注: 改變數據庫中數據的屬性爲660