本文目錄一覽:
Windows下如何更改MySQL資料庫的存儲位置
1、在mysql安裝完成後,要修改資料庫存儲的位置,比如從安裝目錄下的E:\Program Files (x86)\MySQL\data文件夾轉移到D:\mydata文件夾。
2、在D:\下新建mydata文件夾
3、cmd進入dos窗口,輸入net stop mysql停止MySQL服務,將C:\ProgramData\MySQL\MySQL Server 5.5\data(其中ProgramData為隱藏文件夾)下的文件夾和文件一起拷貝到D:\mydata文件夾下
4、在安裝目錄下找到my.ini文件,找到:
#Path to the database root
datadir=”C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
將datadir的值更改為datadir=”D:/mydata/”
5、保存後,cmd進入dos窗口,輸入net start mysql重新啟動mySQL服務即可。
win10 MySQL更換儲存路徑
近幾天在抓Wiki的數據,爬蟲沒控制好導致數據量過大,原數據儲存位置在C盤差點爆了,在網上查詢了更換存儲路徑的方式如下:
1. 在任務管理器-服務里找到MySQL的啟動項-右鍵點屬性,查看配置文件的路徑,我的原有路徑為:C:/ProgramData/MySQL/MySQL Server 8.0/my.ini
2. 在服務中停止MySQL服務,查看my.ini文件中datadir項,進入該目錄下將data文件夾copy至新設定的文件目錄下,我挪到了D:/MySQLData。因為涉及數據最好是複製,等複製完畢再刪除原數據。 同時複製一份my.ini文件至該目錄下,並將my.ini文件中datadir更新至你新設定的路徑D:/MySQLData/data
3. win + R打開運行窗口,regedit打開註冊表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\路徑下找到MySQL啟動項,名字跟服務中一致,雙擊ImagePath,打開彈窗,把數值數據中my.ini的路徑改為D:\MySQLData\my.ini,確定。
4. 到服務中啟動MySQL,能正常啟動並且能正常連接則遷移完畢。
MySQL 數據文件遷移至新硬碟
[mysqld]
# * Basic Settings
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /data/c/mysql 修改
#datadir =/var/lib/mysql
這個原因有二,其中任意的一個原因都會造成你被系統告知這個warning。如果你不是一個專業的linux系統安全工程師,或者你只是個PHP程序員,並沒有對系統安全有深入的研究,你就不會太容易找到它的答案。
第一,selinux,記得當年念書時,字元界面安裝redhat(很古老的操作系統么。。。)的時候,有這麼一個選項,通常大家都聽取前輩的建議,改變默認值以不安裝它。但如果你恰好要操作的這台機器開著selinux,它確實能夠使你的mysql無法在新目標位置進行mysql_install_db的操作,並爆出標題所示的警告。一個簡單的解決辦法是使用命令暫時關閉selinux,以便讓你的操作可以繼續下去 setenforce 0 但最好使用一個永久方法,以便在重啟後繼續不要這貨。 修改/etc/selinux/config文件中設置SELINUX=disabled ,然後重啟或等待下次重啟。
第二,apparmor,這個坑爹貨和selinux一樣的坑爹,它也對mysql所能使用的目錄許可權做了限制 在 /etc/apparmor.d/usr.sbin.mysqld 這個文件中,有這兩行,規定了mysql使用的數據文件路徑許可權
/var/lib/mysql/ r, /var/lib/mysql/** rwk,
你一定看到了,/var/lib/mysql/就是之前mysql安裝的數據文件默認路徑,apparmor控制這裡mysqld可以使用的目錄的許可權 我想把數據文件移動到/data/mysql下,那麼為了使mysqld可以使用/data/mysql這個目錄,照上面那兩條,增加下面這兩條就可以了
/data/mysql/ r, /data/mysql/** rwk,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/datc/c/mysql/ r,
/data/c/mysql/** rwk,
/var/lib/mysql-files/ r,
/var/lib/mysql-files/** rwk,
/data/c/mysql-files/ r,
/data/c/mysql-files/** rwk,
/var/lib/mysql-keyring/ r,
/var/lib/mysql-keyring/** rwk,
/data/c/mysql-keyring/ r,
/data/c/mysql-keyring/** rwk,
apparmor,/etc/inid.d/apparmor restart//////////// /etc/init.d/apparmor restart
linux環境下通過軟鏈接變更mysql數據存儲路徑
想要改變mysql數據存儲路徑的想法最初是在生產伺服器上mysql的數據放到了系統盤上,導致系統盤滿額,沒有足夠的內存交換空間而死機。
將mysql數據存儲到其他目錄下有兩種方法,方法一修改my.cnf配置文件,不過經過筆者通過網上的配置資料嘗試總是不成功,環境是在centos7下操作的。後來想到一個簡單的方法,通過linux的軟鏈接將實際數據放到另外的目錄裡面就可以了。
操作系統是centos7
mysql是通過二進位包裡面的rpm方式安裝的。相當於全自動了。
先關閉mysql
默認情況下,rpm安裝好的mysql會將數據放置在 /var/lib/mysql 目錄當中,我們像將數據遷移到/mnt/data目錄當中在terminal當中輸入:
mv命令會直接將 /var/lib/mysql 文件夾直接剪切到 /mnt/data 目錄當中。
這時我們需要回到/var/lib目錄當中,
在這個目錄當中建立軟鏈接。
軟鏈接相當於windows裡面創建目錄快捷方式是一樣的,這個時候你應該可以看到mysql文件夾回到了 /var/lib 目錄當中,要進去查看一下mysql的路徑是否和my.cnf一致。
這時候我們再啟動mysql
以上我們就將數據遷移到其他目錄下,並且還沒有修改和變更my.cnf文件。
原創文章,作者:UQKFH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330632.html