mysql を長い間使用した後、ある日突然、mysql 設定ファイル my.ini を使用する必要が生じたとき、そのようなファイルは存在せず、ファイルが非表示になっていないことがわかりました。
通常、mysql は C にインストールされます。 \Program Files\MySQL\MySQL Server 5.7 では、以前にインストール パッケージを使用して mysql を作成したようで、my.ini ファイルがありません。このファイルは、mysql に関する重要な設定ファイルです。そうでない場合は、これを行うことができます。
#私も他の人の記事を読んでこれを実行しました。 注意: my.ini ファイルを抽出する準備をする前に、まず以前のデータベース内のすべてのデータを SQL にダンプします。このプロセスではデータ ファイルが削除され、SQL サービスが閉じられるためです。 。したがって、以前のデータはすべて消去されます。my.ini を復元する最初のステップ:
ローカル データのバックアップ、バックアップ方法。 Navicat を使用して SQL をダンプするだけです。my.ini を復元する ステップ 2:
mysql の bin ディレクトリに「cmd」と入力し、Enter キーを押します。my.ini を復元する ステップ 3:
コマンド ウィンドウを入力します:my.ini を復元する ステップ 4:
MySQL サービスの削除コマンド: sc delete サービス名。 サービス名の確認方法。 いろいろな方法がありますが、1つ目は、自分の感覚に基づいて直接見つけることです。#2 つ目は、mysql のポート番号検索を使用する方法です。
3306 は、mysql のデフォルトのポート番号です。 win R 「cmd」と入力してコマンドラインに入ります。コマンドを入力します。
netstat -ano | findstr 3306
サービス名を見つけたら、次のコマンドを入力します。
#MySql57 は私のサービス名です
sc delete MySql57
このコマンドを実行した後、 MySql57 このサービスはサービス中に削除されました。
どうしてもスクリーンショットコマンドを使用する必要がある場合は、サービスを再設定できますが、メインサービスには大量のデータがあり、不適切な操作を行うとメインサービスに影響を与えるため、バックアップも必要ですデータ。スレーブ データベースの動作はマスター データベースの動作と同じです。名前が違うだけです。次は私が奉仕します。皆さんのためにスクリーンショットを撮りましょう。スレーブ サービスのサービス名は mysqls1
サービスを削除する前に停止する必要があります。
2 番目の状況が発生した場合、理由の 1 つはサービス名が間違っていることです。もう1つは、削除したということです。 2 番目のケースで、サービス内にサービス名が見つからない場合は、サービスが削除されたことを意味します。
my.ini を復元する 5 番目のステップ: mysql ルート ディレクトリに新しいファイルを作成し、ファイルに my.ini という名前を付けます
my.ini を復元する 6 番目のステップmy.ini を復元する ステップ: my.ini の内容を編集します。
basedir と datadir これら 2 つの構成は、実際の 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 を復元するステップ 7: mysql で新しいデータ ファイルを生成する
Enter cmd mysql の bin ディレクトリに移動し、Enter キーを押してコマンド ラインを入力します。
mysqld --initialize-insecure --user=mysql
#このエラーは、前のデータ ファイルを削除していないために発生します。
こういうときは、たいていtinderを使って直接潰します。
このエラーが発生する場合は、my.ini 内のこれら 2 つの構成が正しくないことが原因である可能性があります。
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 中国語 Web サイトの他の関連記事を参照してください。