關於安裝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"