使用的這麼長時間的mysql,有一天我突然需要使用mysql 的設定檔my.ini時發現沒有這個檔案並且這個檔案不是被隱藏了。
一般情況下mysql都是安裝在C:\Program Files\MySQL\MySQL Server 5.7這個地方,我之前好像是用的安裝包搞的mysql所以沒有my.ini這個檔。這個檔案是關於mysql一個重要設定檔。如果沒有的話可以這樣。
這我也是看別人的文章搞的。
注意,在你準備把my.ini這個文件搞出來之前先把你之前資料庫中的資料都轉儲sql一下因為,因為在這個過程中會刪掉data文件,並且關閉sql服務。所以之前的資料會全部被抹除掉。
恢復my.ini第一步:
備份本地數據,咋備份。直接用Navicat轉儲sql就行。
恢復my.ini第二步:
在mysql的bin目錄下輸入cmd然後回車。
恢復my.ini第三步:
進入指令視窗:
恢復my.ini第四步:
#刪除MySQL服務指令:sc delete服務名稱。
服務名稱如何查看。
有好多種辦法,第一種是直接憑感覺找。
第二種是使用mysql的連接埠號碼來尋找。
3306是mysql預設埠號。 win R 輸入cmd 進入命令列。輸入一下命令。
netstat -ano | findstr 3306
找到服務名稱後輸入指令:
#MySql57是我的服務名稱
sc delete MySql57
執行這條指令後MySql57這個服務在服務中就被刪除了。
如果你確實需要使用截圖命令,我可以重新配置服務,但是主服務上有很多數據,如果操作不當會影響主服務,因此我還需要備份數據。從資料庫的操作和主資料庫一樣。只是名字不一樣。接下來我就以從服務。給大家截個圖。從服務的服務名稱是mysqls1
#刪除之前要把服務給停了!
如果出現第二種情況一種原因是服務名錯了。另一種就是你已經給刪了。第二種情況如果在服務中找不到這個服務名稱表示你已經刪除了。
恢復my.ini第五步:在mysql根目錄下新建文件,文件名命名為my.ini
恢復my.ini第六步:在my.ini編輯一下內容。
basedir 和datadir 這兩個設定要根據你實際的mysql路徑進行編輯
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html [client] default-character-set = utf8 [mysql] default-character-set = utf8 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8 init_connect='SET NAMES utf8' # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. #注意这个地方要和你安装mysql的路径保持一致。 basedir = C:\Program Files\MySQL\MySQL Server 5.7 datadir = C:\Program Files\MySQL\MySQL Server 5.7\data port = 3306 # server_id = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. join_buffer_size = 128M sort_buffer_size = 16M read_rnd_buffer_size = 16M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES skip-grant-tables
恢復my.ini第七步:在mysql中產生新的data檔
#在mysql的bin目錄下輸入cmd回車然後輸入命令列。
mysqld --initialize-insecure --user=mysql
出現這種報錯是你沒有把之前的data檔案刪除。
出現這種情況我一般使用火絨直接粉碎。
出現這個錯那麼大概是因為你my.ini中的這兩條配置不對。
basedir = C:\Program Files\MySQL\MySQL Server 5.7-s1 datadir = C:\Program Files\MySQL\MySQL Server 5.7-s1\data
刪除後在執行
#恢复my.ini第八步:重新生成mysql服务,同时绑定my.ini配置文件
输入一下命令。
mysqld --install "MySql57" --defaults-file="C:/Program Files/MySQL/MySQL Server 5.7/my.ini"
如果无法启动成功重复上面的步骤。不要怕大胆干反也损失不了啥!
重复了好几遍还是不行那大概是端口冲突了吧,把my.ini文件的3306随便改一个。
恢复my.ini第九步:进入mysql修改密码
登录mysql,输入此命令。因为服务刚刚删了所以不用输入密码。
mysql -u root -p
直接回车
进入mysql后,输入
use mysql;
然后再输入
update mysql.user set authentication_string=password("123456") where user="root";
然后刷新权限并退出
flush privileges; Quit
以上是安裝的mysql中沒有my.ini檔案如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!