Mysql 5.7.19 無料インストール バージョンで遭遇した落とし穴 (コレクション)

Mysql 5.7.19 無料インストール バージョンで遭遇した落とし穴 (コレクション)

1. 公式ウェブサイトから 64 ビットの zip ファイルをダウンロードします。

2. インストールを実行する場所に zip ファイルを解凍します。

3. 以前の MySQL がインストールされている場合は、コントロール パネルに移動してアンインストールし、以前の MySQL によって残された残留ファイルも削除する必要があります。無料でインストールできる場合は、 mysqld -removeコマンドを使用して削除します。以前のファイルをアンインストールするときは、データ フォルダと my.ini ファイルを忘れずに保持してください。 (データファイルの内容は復元できます。my.ini ファイルには構成参照構成が含まれています)

以前にmysqlサービスがあった場合は、mysqlサービスを停止する必要があります。

4. 新しい my.ini ファイルを作成します。内容は以前と同じです。変更するには:

ビープ音なし(# でコメントアウト)
ベースディレクトリ="C:/Program Files/MySQL/mysql-5.7.19-winx64"
datadir="C:/ProgramData/MySQL/mysql-5.7.19-winx64/data\" (新しいデータベースが保存される場所)
my.iniファイルはC:\mysql-5.7.19-winx64ディレクトリに配置されます。

5. コマンドmysqld --initialize-insecureを実行します。

問題のあるファイルは 2 つあり、1 つは vs2013 c++ で、もう 1 つはダイナミック リンク ライブラリです。

Baiduはこれら2つのファイルを見つける

msvcr120.dll
実行ファイル

6. dll を system32 の下に置き、exe を直接実行してインストールします。次に、ステップ 5 のコマンドを再度実行します。

7. 対応するディレクトリがないというメッセージが表示されます。 (エラーコード: 2 - そのようなファイルまたはディレクトリはありません)

8. 対応するディレクトリに移動し、フォルダーを手動で生成してみます。

9. 作成後、手順 5 のコマンドが最終的に正常に機能します。対応するディレクトリが生成されているかどうかを確認します。

10. 生成が成功したら、mysqld --install mysqlコマンドを使用します。

(--default-file=C:\mysql-5.7.19-winx64\my.ini,この文を追加しました。サーバーは起動しません。mysqld mysqld -remove 、再インストール後にこのパラメータを追加しないでください。今回は正常に起動できます)

11. Service successfully installed 。サービスにアクセスして、mysqlサービスがあるかどうかを確認できます。

12. サービスを開始する

13. サービス開始後にログインする必要があります。ただし、パスワードは初期化されています。だからリセットしなくてはならない

14. my.iniの[mysqld]の下にskip-grant-tablesを追加し、権限をスキップして、サービスを再起動します。

15. mysql -u root -pて直接入力することもできます。

16. UPDATE mysql.user SET authentication_string = PASSWORD('123456'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'です。

17. my.ini に移動し、追加した skip-grant-tables をコメントアウトして、サービスを再起動します。

18. もう一度mysql -u root -pと入力し、先ほど設定したパスワードを入力します。

19. show databases 。1820 や 1862 などのエラーが発生した場合。説明: パスワードをリセットする必要があります。 SET PASSWORD = PASSWORD('123456');

20. 次はデータベースをコピーします。データベースをコピーする前に、mysqlサービスを停止する必要があります。

21. 以前のデータ フォルダーのデータをC:/ProgramData/MySQL/mysql-5.7.19-winx64/data\ディレクトリにコピーします。上書きしないことをお勧めします。以前のデータの名前を変更して、MySQL サービスを再起動します。

22. 管理者コマンドで CMD を起動し、次のコマンドを実行します。

mysql_upgrade -u ルート -p --force

以前のデータ復旧

23. 以前に mysql.user テーブルに 'root'@'%' がない場合、リモート アクセスは不可能であることを意味します。リモート アクセスを変更するか、新しい 'root'@'%' を作成する必要があります ('root'@'%' は、root でリモート アクセスできることを意味し、'root'@'loaclhost' は、ローカル アクセスのみ可能であることを意味します)。

24. mysql を使用します。

ユーザーを更新します。ホストを '%' に設定し、ユーザーを 'root' に設定します。
権限をフラッシュします。
(以下の手順は省略できます)
ユーザーからホスト、ユーザーを選択します。 
GRANT オプション付きで、'123456' で識別される 'root'@'%' に *.* のすべての権限を付与します。
権限をフラッシュします。

25. 設定後、他のマシンからアクセスできるようになります。以前の localhost を % に変更してローカルからアクセスできなくなるのではなく、新しい 'root'@'%' を追加することをお勧めします。

注意: 設定を変更した後はデータを変更しないことをお勧めします。変更すると間違いになります。 'root'@'loaclhost' を 'root'@'%' に変更し、データベース ファイルをコピーします。しかし、現時点ではローカルログインはできないというメッセージが表示されます。ローカルログインを許可しないように設定が変更されているはずです。したがって、変更を加えたり承認を設定したりする前に、まずデータベースをコピーしてデータを復元する必要があります。なお、バージョン5.7.19の認証は以前と異なるようで確認が必要です。データベースを移動するときは、必ずバックアップしてください。

my.ini ファイルを以前のバージョンからコピーした場合、最大接続数などの問題が発生する可能性があります。次に例を示します。

[mysqld]
ポート=3306
ベースディレクトリ="C:/Program Files/MySQL/mysql-5.7.19-winx64"
データディレクトリ="C:/ProgramData/MySQL/mysql-5.7.19-winx64/data\"
最大接続数=1000
文字セットサーバー=utf8
デフォルトのストレージエンジン=INNODB 
小文字のテーブル名 = 1
sql_mode=NO_ENGINE_SUBSTITUTION、STRICT_TRANS_TABLES 
#許可テーブルをスキップする
[クライアント]
ポート=3306
デフォルトの文字セット=utf8
[mysql]
デフォルトの文字セット=utf8

要約する

上記は、私が紹介したMysql 5.7.19無料インストールバージョンで遭遇した落とし穴です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Windows で MySQL 5.7.17 圧縮バージョンをインストールするときに遭遇する落とし穴
  • MySQLで論理SQLを置き換える際の落とし穴を回避する方法の詳細な説明
  • MySQL 5.7 にアップグレードした後に開発者が注意しなければならない落とし穴

<<:  CentOS 6.5 の設定 ssh キーフリーログインで pssh コマンドを実行する方法の説明

>>:  Vueはドラッグ可能なツリー構造図を実装します

推薦する

ウェブページのFOUC問題によるウェブページの混乱の解決策

FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...

Vue3 の参照と参照の詳細

エディターは、Vue3のデータの関連する問題も共有します。次のような例を見てみましょう。 Vue.c...

Easyswoole ワンクリック インストール スクリプトとパゴダ インストール エラー

よくある質問easyswoole を初めて使用する場合は、次のような問題に遭遇することがよくあります...

React Nativeでシンプルなゲームエンジンを作る

目次導入始めるReact Nativeゲームエンジンの簡単な紹介React Nativeでスネークゲ...

Linux で最も頻繁に使用されるターミナル コマンドのトップ 10 のリストを取得します。

私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...

MySQLデータベースホスト127.0.0.1とlocalhostの違い

私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...

JavaScript の寄生的構成継承についての簡単な説明

コンポジション継承組み合わせ継承は、疑似古典的継承とも呼ばれます。これは、昨日説明したプロトタイプ ...

MySQL インデックスがソートに与える影響の分析例

この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...

ウェブサイトのコンテンツの100~1%はナビゲーションである

ウェブサイトでは、コンテンツの(100-1)%がナビゲーションです1. ジェシー・ジェームズ・ギャレ...

a タグをクリックして入力ファイルのアップロードダイアログボックスを表示する方法

htmlコードをコピーコードは次のとおりです。 <SPAN class=tag><...

MySql データベースのサブクエリと高度なアプリケーションの簡単な分析

MySql データベースのサブクエリ:サブクエリ: 選択クエリ ステートメント内に別の選択ステートメ...

React+Antdはテーブルの追加、削除、変更の例を実装します

目次テーブル/index.jsテーブル/モデル/index.jsテーブル/モデル/モジュール/bas...

Reactの二次連携を実現する方法

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...