windows操作系統(tǒng)下MySQL5.7、8.0的data目錄變更方法以及一些相關(guān)問題(MYSQL8的my.ini位置在哪里)

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

現(xiàn)在我們的盤都是SSD硬盤,讀寫速度都快,我們也懶得分區(qū),有些時候我們裝軟件也喜歡裝在C盤,運行快,不過有些時候的數(shù)據(jù)還是比較重要的,不光是快的問題,也要安裝,比如我們安裝的mysql,會安裝在C盤,數(shù)據(jù)庫存儲目錄的Data就要放在其他盤符比較好,下面就來說說如何的更換Mysql的目錄;

windows環(huán)境安裝MySQL8.0,默認安裝在C盤的;

basedir是:C:\Program Files\MySQL\MySQL Server 8.0\bin

datadir 是:C:\ProgramData\MySQL\MySQL Server 8.0\data? ?#這是一個隱藏文件夾

現(xiàn)在想把datadir遷移到E盤,做法是:

1、關(guān)閉數(shù)據(jù)庫服務(wù)

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqladmin -uroot -piris shutdown
2、將整個data目錄剪切到E盤相應(yīng)文件夾(我在E盤下新建了一個Mysql文件夾,E:\mysql)下:

將原data文件夾整個剪切到mysql下。

新的datadir是:E:\mysql\Data。

并在mysql下新建 “tmp_data”和“slave_data”兩個文件夾,為參數(shù)tmpdir和slave_load_tmpdir的值。

tips:注意新的Mysql和data文件夾的權(quán)限處理。

3、修改配置文件my.ini

修改datadir的路徑后,修改my.ini配置文件。

my.ini的配置文件應(yīng)該在“C:\Program Files\MySQL\MySQL Server X.Y\?”? 目錄下。? ?#X.Y代表MySQL的版本號

我的配置文件是:C:\Program Files\MySQL\MySQL Server 8.0\my.ini

補充:

1.有關(guān)于datadir路徑更換的配置內(nèi)容主要如下

basedir=C:/Program Files/MySQL/MySQL Server 8.0/bin
datadir=E:/mysql/Data
tmpdir=E:/mysql/tmp_data
slave_load_tmpdir=E:/mysql/slave_data
lc-messages-dir=C:/Program Files/MySQL/MySQL Server 8.0/share? ?#錯誤消息文件存在的目錄
lc-messages="en_US"? ? ? ? ?#錯誤消息的語言環(huán)境。默認是 en_US。可將參數(shù)轉(zhuǎn)換為其他語言
log_timestamps=SYSTEM? ? ? ?#錯誤日志顯示的時間
secure-file-priv=E:/mysql/Uploads
general-log=0? ? ? ?#關(guān)閉普通日志
general_log_file=e:/mysql/data/iris_bin.log? ? ? ?#二進制文件
slow_query_log_file=e:/mysql/data/iris-slow.log? ?#慢日志文件
slow-query-log=1? ?#慢查詢時間閾值
long_query_time=1
exec_time=20 #SQL執(zhí)行超過20秒自動終止
# Binary Logging.
log-bin=e:/mysql/data/iris-bin
log-error=e:/mysql/data/iris-err.err
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
default_authentication_plugin=mysql_native_password? #修改用戶的身份驗證插件。原默認用戶身份驗證插件是caching_sha2_password,安全性和性能都較好,但是不支持8.0一下版本的客戶端&連接器
2、指定了log_timestamps=system的影響:

log_timestamps,錯誤日志顯示時間,指定為system,即我的是"+8:00"(因為windows環(huán)境的system_time_zone就是我計算機的時間,北京時間)。

配置前后錯誤日志內(nèi)容如下:

配置前:

2018-12-13T02:44:24.378145Z 0
2018-12-13T02:44:20.021582Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.13) starting as process 143496
2018-12-13T02:44:20.021686Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file 'C:\Program Files\MySQL\MySQL Server 8.0\bin\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2018-12-13T02:44:24.378145Z 0 [ERROR] [MY-010119] [Server] Aborting

配置后:

2018-12-13T11:29:00.337768+08:00 0
2018-12-13T11:29:00.337768+08:00 0 [ERROR] [MY-010361] [Server] Fatal error: Illegal or unknown default time zone 'UCT'
2018-12-13T11:29:00.342668+08:00 0 [ERROR] [MY-010119] [Server] Aborting
2018-12-13T11:29:32.462444+08:00 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.

4、修改完配置文件后,直接啟動數(shù)據(jù)庫即可

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld
tips:

針對data文件夾整個的遷移,如果不修改my.ini配置文件也是可以的。

每次啟動的時候帶上--datadir=data_dir_comm就行,即:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --datadir=e:\mysql\data
而且,我的my.ini位子并沒有挪動,如果my.ini文件也遷移 了、位子也變了,那么啟動的時候一定要帶上--defaults-file參數(shù)。

-----------------------------------------------------------------------------------------------------

其他:關(guān)于“iris_err.err錯誤日志”顯示時間例子里兩段日志內(nèi)容補充說明:(都是粗心導致的報錯(?﹏?))

問題1:

Can't find error-message file 'C:\Program Files\MySQL\MySQL Server 8.0\bin\share\errmsg.sys'-->找不到錯誤消息的文件,路徑錯誤

解決:

改為:Can't find error-message file 'C:\Program Files\MySQL\MySQL Server 8.0\share\'

share下面都是各種語言系統(tǒng)的報錯文件,指定到share。

配置文件里面 lc-messages-dir和lc-messages,一般是配套使用的,一個記錄路徑,一個在選擇路徑下眾多語言里選一個。

當然,指定了lc-messages-dir,不寫lc-messages也是可以的。lc-messages默認是“en_US”。

問題2:

Fatal error: Illegal or unknown default time zone 'UCT''-->指定的默認時區(qū)值是不合法的(也就是不存在這樣的值,)

解決:

配置文件my.ini中指定的系統(tǒng)默認時區(qū)值有誤,正確寫法是UTC。但我的配置文件里改成“+0:00”、“+8:00”的值等模式。使用UTC這種時區(qū)名字需要在time_zone_name表里有對應(yīng)關(guān)系才行,因為我的MySQL的time_zone_name表是空的。
------------------------------------------------------

  1. 在C:\ProgramData\MySQL\MySQL Server 5.7文件夾
  2. my.ini是默認的配置文件。在這里我們只更改數(shù)據(jù)存儲路徑。不更改配置文件
1 # Path to the database root
2 datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data

將96行后面的值修改為需要的路徑即可

自定義的文件夾需要在安全屬性里面添加network service的訪問權(quán)限,不然會觸發(fā)10061(2003)的錯誤。

PS:mysql在Windows下使用network service權(quán)限運行

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責聲明,若由于商用引起版權(quán)糾紛,一切責任均由使用者承擔。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責聲明》全部內(nèi)容的認可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學習和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » windows操作系統(tǒng)下MySQL5.7、8.0的data目錄變更方法以及一些相關(guān)問題(MYSQL8的my.ini位置在哪里)

發(fā)表回復

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護;網(wǎng)站開發(fā)修改及維護; 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情