1. 程式人生 > >關於安裝mysql 5.7時遇到的預設root無法登陸或者找不到data資料夾的問題的一些解決辦法

關於安裝mysql 5.7時遇到的預設root無法登陸或者找不到data資料夾的問題的一些解決辦法

新人剛剛踏入java  自學資料庫中, 奈何裝個mysql折騰了兩天。。

mysql版本5.7

遇到了mysql -u root -p以及裝軟體時設定的user和password都無法登陸mysql的問題,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

盲目嘗試了一些網友分享的改密碼方法,均提示無法將目錄切換為C:\Program Files\MySQL\MySQL Server 5.7\

進一步排查發現C:\Program Files\MySQL\MySQL Server 5.7\ 目錄下面沒有data資料夾 和 my.ini

嘗試網上很多方法比如命令mysqld --initialize-insecure --user=mysql 之類的  依然不奏效  提示mysqld: Can't create directory 'C:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 13 - Permission denied)

折騰許久之後  ,機緣巧合發現data資料夾居然在目錄C:\ProgramData\MySQL\MySQL Server 5.7\下   這是個隱藏資料夾,要在資料夾選項裡面設定

遂將my.ini和data資料夾複製到了mysql安裝目錄下,並修改my.ini內配置為 # Path to the database rootdatadir=C:/Program Files/MySQL/MySQL Server 5.7\Data

再嘗試使用之前設定的user與password登陸mysql  , 所有問題解決。

儘管如此,問題是解決了,但是mysql預設生成了data資料夾 ,  但其自身又找不到自己建立的data資料夾 , 其中的原因就不得而知了 , 如果我學的不是《java從入門到放棄》的話,以後還得回頭研究研究這個問題。

-------------------------------------------------9月10日-----------------------------------------

9號用換目錄的方式搞定這個問題後, 10號就發現昨天mysql裡面自己新增的database都讀不出來了 , 找了半天發現目錄又定位回了C:\ProgramData\MySQL\MySQL Server 5.7\下, 9號寫的東西都在C:\Program Files\MySQL\MySQL Server 5.7\ Data下

這又變得詭異了。。

於是又把Data資料夾考了回去  9號寫的東西又恢復了。。真是費解

順便考Data目錄下的database不能只考那個資料庫名字資料夾,還要連Data目錄下的其他檔案一起拷過去,不然資料庫就只能讀到結構,用DESC TABLE;卻會提示TABLE不存在

-------------------------------------------------12月10日-----------------------------------------

以上都是錯誤的摸索

emmmm    其實改一下my.ini配置檔案裡面的目錄就行了

# Path to the database root

  datadir="C:\ProgramData\MySQL\MySQL Server 5.7\Data"