《Mysql必讀mysql 5.7更改數據庫的數據存儲位置的解決方法》要點:
本文介紹了Mysql必讀mysql 5.7更改數據庫的數據存儲位置的解決方法,希望對您有用。如果有疑問,可以聯系我們。
MYSQL必讀隨著MySQL數據庫存儲的數據逐漸變大,已經將原來的存儲數據的空間占滿了,導致mysql已經鏈接不上了.因此,必須要給存放的數據換個地方了.下面是操作過程中的一些步驟.記下來,以后日后查看.
MYSQL必讀1.修改mysql數據存放的目錄
MYSQL必讀要修改兩個地方,其一是修改/etc/my.cnf文件中的datadir.默認情況下:
MYSQL必讀
datadir=/var/lib/mysql
MYSQL必讀因為我的/data/目錄比較大,所以將其改為:
MYSQL必讀
datadir=/data/mysql/
MYSQL必讀還要修改/etc/init.d/mysqld
文件,將datadir=”$result”
改為:
MYSQL必讀
datadir=”/data/mysql”
MYSQL必讀2.停止mysql服務
MYSQL必讀
service mysql stop
MYSQL必讀3.創建新的數據存放目錄
MYSQL必讀
mkdir /data/mysql
MYSQL必讀4.將數據移動到新的數據庫存放目錄里面
MYSQL必讀
mv /usr/local/mysql/data/* /data/mysql
MYSQL必讀這里補充一點兒知識,innoDB引擎和MyISAM引擎的數據文件不一樣.
MYSQL必讀針對MyISAM引擎, 數據文件以”*.frm”,”*.MYD”,”*.MYI”三個文件存儲于”/var/lib/mysql”目錄下的對應數據庫文件夾中.直接將這些文件移動到新的數據存放目錄里面,就可以.
MYSQL必讀針對innoDB引擎,數據則存儲在”$innodb_data_home_dir” 的ibdata1
文件中(一般情況),結構文件存在于table_name.frm中.
MYSQL必讀5.修改mysql數據庫目錄權限以及配置文件
MYSQL必讀
chown mysql:mysql -R /data/mysql/
MYSQL必讀6.修改socket
MYSQL必讀在兩個地方修改socket,/etc/my.cnf
MYSQL必讀
socket=/data/mysql/mysql.sock
MYSQL必讀創建一個連接文件到/var/lib/mysql/mysql.sock
MYSQL必讀
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
MYSQL必讀7.重啟mysql服務
MYSQL必讀執行
MYSQL必讀
service mysql restart
MYSQL必讀開始對數據庫進行讀寫操作,發現有這樣的問題:
MYSQL必讀讀寫:
MYSQL必讀
ERROR 1146 (42S02): Table ** doesn't exist
MYSQL必讀創建表:
MYSQL必讀
ERROR 1005 (HY000): Can't create table ‘runoob_tbl' (errno: 13)
MYSQL必讀解決辦法:
MYSQL必讀在/data/mysql目錄下,刪掉ib_logfile*文件,這樣innoDB引擎的表就正常了.
MYSQL必讀再執行
MYSQL必讀
mysql> REPAIR TABLE ***;
MYSQL必讀對于數據量比較大表,這個過程可能會比較慢.執行完成后,MyISAM引擎的表也正常了.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2681.html