Rumah > Artikel > pangkalan data > Bagaimana untuk menyelesaikan masalah bahawa tiada fail my.ini dalam mysql yang dipasang
Setelah menggunakan mysql sekian lama, suatu hari tiba-tiba saya perlu menggunakan fail konfigurasi mysql my.ini dan mendapati tiada fail sedemikian dan fail tersebut tidak disembunyikan.
Secara amnya, mysql dipasang dalam C. :Program FilesMySQLMySQL Dalam Server 5.7, saya nampaknya pernah menggunakan pakej pemasangan untuk mencipta mysql sebelum ini, jadi tiada fail my.ini. Fail ini ialah fail konfigurasi penting tentang mysql. Jika tidak, anda boleh melakukan ini.
Saya juga melakukan ini dengan membaca artikel orang lain.
Perhatian, sebelum anda bersedia untuk mencipta fail my.ini, buang semua data dalam pangkalan data anda sebelum ini ke sql, kerana dalam proses ini, fail data akan dipadamkan dan perkhidmatan sql akan ditutup. Oleh itu, semua data terdahulu akan dipadamkan.
Langkah pertama untuk memulihkan my.ini:
Sandarkan data setempat, sandarkan. Hanya gunakan Navicat untuk membuang sql.
Pulihkan my.ini Langkah 2:
Masukkan cmd dalam direktori bin mysql dan tekan Enter.
Pulihkan my.ini Langkah 3:
Masukkan tetingkap arahan:
Pulihkan my.ini Langkah 4:
Padamkan arahan perkhidmatan MySQL: sc padamkan nama perkhidmatan.
Cara menyemak nama perkhidmatan.
Terdapat banyak cara yang pertama adalah mencarinya secara langsung.
Yang kedua ialah menggunakan carian nombor port mysql.
3306 ialah nombor port lalai mysql. Win+R masukkan cmd untuk memasuki baris arahan. Masukkan arahan.
netstat -ano | findstr 3306
Selepas mencari nama perkhidmatan, masukkan arahan:
#MySql57 ialah nama perkhidmatan saya
sc delete MySql57
Selepas melaksanakan arahan ini, MySql57 Perkhidmatan ini telah dipadamkan semasa dalam perkhidmatan.
Jika anda benar-benar perlu menggunakan arahan tangkapan skrin, saya boleh mengkonfigurasi semula perkhidmatan, tetapi terdapat banyak data pada perkhidmatan utama Jika ia tidak dilakukan dengan betul, ia akan menjejaskan perkhidmatan utama, jadi saya juga perlu membuat sandaran data. Operasi pangkalan data hamba adalah sama seperti pangkalan data induk. Cuma nama sahaja yang berbeza. Seterusnya saya akan berkhidmat. Biar saya ambil tangkapan skrin untuk anda semua. Nama perkhidmatan perkhidmatan hamba ialah mysqls1
Perkhidmatan mesti dihentikan sebelum memadamkannya!
Jika situasi kedua berlaku, satu sebab ialah nama perkhidmatan itu salah. Yang lain ialah anda telah memadamkannya. Dalam kes kedua, jika nama perkhidmatan tidak ditemui dalam perkhidmatan, ini bermakna anda telah memadamkannya.
Langkah kelima untuk memulihkan my.ini: Buat fail baharu dalam direktori root mysql dan namakan fail my.ini
Langkah keenam untuk pulihkan my.ini Langkah: Edit kandungan dalam my.ini.
Dua konfigurasi basedir dan datadir hendaklah diedit mengikut laluan mysql sebenar anda
# 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
Pulihkan my.ini Langkah 7: Jana fail data baharu dalam mysql
Masukkan cmd dalam direktori bin mysql dan tekan Enter dan kemudian masukkan baris arahan.
mysqld --initialize-insecure --user=mysql
Ralat ini berlaku kerana anda tidak memadamkan fail data sebelumnya.
Apabila ini berlaku, saya biasanya menggunakan tinder untuk menghancurkannya secara langsung.
Ralat ini berlaku mungkin kerana kedua-dua konfigurasi dalam my.ini anda tidak betul.
basedir = C:\Program Files\MySQL\MySQL Server 5.7-s1 datadir = C:\Program Files\MySQL\MySQL Server 5.7-s1\data
Selepas pemadaman, laksanakan
恢复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
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bahawa tiada fail my.ini dalam mysql yang dipasang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!