MySQL默認的數據文件存儲目錄為/var/lib/mysql。假如要把MySQL目錄移到/home/data下需要進行下面幾步:x0dx0a1、home目錄下槐啟頌建立data目錄x0dx0acd /homex0dx0amkdir datax0dx0a2、把MySQL服務進程停掉x0dx0amysqladmin -u root -p shutdownx0dx0a3、把/var/lib/mysql整個目錄移到/home/datax0dx0amv /var/lib/mysql/home/data/x0dx0a這樣就把MySQL的數據文件移動到了/home/data/mysql下。x0dx0a4、找到my.cnf配置文件x0dx0a如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:x0dx0ax0dx0a[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf/etc/my.cnfx0dx0ax0dx0a5、編輯MySQL的配置文件/etc/my.cnfx0dx0a為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/鉛鄭mysql.sock。操作如下:x0dx0ax0dx0avi my.cnf (用vi工具編輯my.cnf文件,找到下列數據修改之)x0dx0a# The MySQL serverx0dx0a[mysqld]x0dx0aport= 3306x0dx0a#socket = /var/lib/mysql/mysql.sock(原內容,旁簡為了更穩妥用「#」注釋此行)x0dx0asocket = /home/data/mysql/mysql.sock(加上此行) x0dx0ax0dx0a6、修改MySQL啟動腳本/etc/init.d/mysqlx0dx0a最後,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。x0dx0ax0dx0a[root@test1 etc]# vi/etc/init.d/mysqlx0dx0a#datadir=/var/lib/mysql(注釋此行)x0dx0adatadir=/home/data/mysql (加上此行) x0dx0ax0dx0a7、重新啟動MySQL服務x0dx0ax0dx0a/etc/init.d/mysqlstartx0dx0ax0dx0a或用reboot命令重啟Linuxx0dx0a如果工作正常移動就成功了,否則對照前面的7步再檢查一下。x0dx0a還要注意目錄的屬主和許可權。
❷ Linux Mysql如何移動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/init.d/mysql
最後,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。
[root@test1 etc]# vi/etc/init.d/mysql
#datadir=/var/lib/mysql瞎源(注釋此行)
datadir=/home/data/mysql (加上此行)
7、重新啟動MySQL服務
/etc/init.d/mysqlstart
或用reboot命令重啟Linux
如果工作正常移動就成功了,否則對照前面的7步再檢查一下。還要注意嘩帶目錄的屬主和許可權。
❸ 如何遷移MySQL資料庫
caching_sha2_password認證插件提供更多的密碼加密方式,並且在加密方面具有更好的表現,目前MySQL8.0選用caching_sha2_password作為默認的認證插件,MySQL5.7的認證插件是MySQL_native_password。如果客戶端版本過低,會造成無法識別MySQL8.0的加密認證方式,最終導致連接問題。
MySQL存儲引擎現在負責提供自己的分區處理程序,而MySQL伺服器不再提供通用分區支持,InnoDB和NDB是唯一提供MySQL8.0支持的本地分區處理程序的存儲引擎。如果分區表用的是別的存儲引擎,存儲引擎必須進行修改。要麼將其轉換為InnoDB或NDB,要麼刪除其分區。通過MySQLmp從5.7獲取的備份文件,在導入到8.0環境前,需要確保創建分區表語句中指定的存儲引擎必須支持分區,否則會報錯。
MySQL8.0的默認字元集utf8mb4,可能會導致之前數據的字元集跟新建對象的字元集不一致,為了避免新舊對象字元集不一致的情況,可以在配置文件將字元集和校驗規則設置為舊版本的字元集和校驗規則。
MySQL8.0啟動使用的lower_case_table_names值必須跟初始化時使用的一致。使用不同的設置重新啟動伺服器會引入與標識符的排序和比較方式不一致的問題。
要避免MySQL8.0上的啟動失敗,MySQL配置文件中的sql_mode系統變數不能包含NO_AUTO_CREATE_USER。返碰
從MySQL5.7.24和MySQL8.0.13開始,MySQLmp從存儲程序定義中刪除了NO_AUTO_CREATE_USER。必須手動修改使用早期版本的MySQLmp創建的轉儲文件,以刪除NO_AUTO_CREATE_USER。
在MySQL8.0.11中,刪除了這些不推薦使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。從5.7到8.0的復制場景中,如果語句使用到廢棄的SQL Mode會導致復制異常。
在執漏檔談行到MySQL8.0.3或更高版本的in-place升級時,BACKUP_ADMIN許可權自動授予具有RELOAD許可權的用戶。
<lower_case_table_names>
https://dev.mysql.com/doc/refman/8.0/en/server-systemvariables.html#sysvar_lower_case_table_names
本文對MySQL 5.7到MySQL 8.0的升級過程中出現部分易出現問題進行整理:升級對MySQL版本的要求、升級都做了哪些內容、資料庫升級做了哪些步驟以及注意事項,希望對大家版本升級有蠢迅幫助。
❹ 急:我的MYSQL資料庫裝在C盤的,怎麼移到D盤啊
1、首先在桌面上雙擊打開「此租埋電腦」軟體。
❺ 如何通過文件拷貝把mysql中的一個資料庫內容,拷貝至另一台機器的mysql里
1、在B機器上裝mysql。
將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。
將B機器上的mysql服務停止。
找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。
2、使用SQL語句備份和恢復
你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。
語法:
SELECT * INTO {OUTFILE | DUMPFILE} 』file_name』 FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE 』file_name』
❻ mysql移動文件或者文件夾的命令是
可以使用冊帆尺linux系轎纖統進行移動。
在home目錄下建立data目錄,然後把MySQL服州高務進程停掉 把/var/lib/mysql整個目錄移到/home/data。
這樣就可以把MySQL的數據文件移動到了/home/data/mysql下。
接著找到my.cnf配置文件,如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。
❼ centos 7.2 遷移 mysql 資料庫文件
原目錄:/var/lib/mysql
新目錄:/data/mysql
1.將/smp/mysql/mysql.sock文件復制到/data/db/mysql.sock,並停止運行mysql(注意,需將
mysql.sock文件復制後,才能停止mysql)
/smp/mysql/bin/mysqladmin -uroot -p shutdown
2.data目錄遷移
cp -a /var/lib/mysql/* /data/mysql
3.修改/etc/my.cnf
socket=/data/db/mysql.sock(注意將原來的socket文件注釋掉,方便回滾)
datadir=/data/db/data
4.建立軟鏈接
ln -s /data/db/mysql.sock /var/lib/mysql/mysql.sock
❽ MYSQL數據怎麼從一個電腦轉移到另一個電腦
1、找到my.ini文件,裡面有一行datadir=...的,就是資料庫文件目錄,關掉mysql服伏羨務,將這個目錄整個拷貝過去在那邊再配my.ini讓目錄吻合就行了。
2、把資料庫上的資料備份出來,到另外一個資料庫還原,有工具PHPMYADMIN;
也可以命令行導出,利用「mysqlmp -u 用戶名 -p databasename >exportfilename」導出資料庫到文件,導入:
進入MySQL Command Line Client,輸入密碼,進入到「mysql>」,輸入命令"show databases;",回車,看看有些什麼資料庫;建立你要還原的資料庫,輸入"create database voice;",回車;切換到剛建立的資料庫皮鏈,輸入燃廳孫"use voice;",回車;
導入數據,輸入"source voice.sql;
"回車,開始導入,再次出現"mysql>"並且沒有提示錯誤即還原成功。