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はドラッグ可能なツリー構造図を実装します

推薦する

ホバー画像のポップアウトポップアップ効果を実現するための純粋な CSS のサンプルコード

実施原則メイングラフィックは、背景と前景の 2 つの要素で構成されています。次のサンプルコードでは、...

Nginx におけるサーバーとロケーションのマッチングロジックの詳細な理解

サーバーマッチングロジックNginx は、リクエストを実行するサーバー ブロックを決定するときに、サ...

nginx の default_server 定義とマッチングルールの詳細な説明

nginx の default_server ディレクティブは、server_name と一致しない...

mysql 5.7.18 winx64 パスワード変更

MySQL 5.7.18 が正常にインストールされた後、バージョン 5.7 では空のパスワードでのロ...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

MYSQL row_number() および over() 関数の詳細な使用方法

構文フォーマット: row_number() over(partition by grouping ...

TypescriptとAxiosに基づくインターフェースリクエスト管理の詳細な説明

目次アイデア傍受を要求するレスポンスインターセプションhttpClient.tsを使用してリクエスト...

Linux システムでデプロイメント プロジェクトを設定する方法

1. ファイアウォールの設定を変更し、対応するポートを開きますLinux システムのファイアウォール...

nginx の場所に複数の Proxy_pass メソッドがある

1. まず、nginxの位置情報に関する関連知識を確認しましょう1) 位置マッチング手順: ~ #波...

Django2.* + Mysql5.7 開発環境統合チュートリアル図

環境: 10.12 の新機能Python 3.6 MySQL 5.7.25 の場合ジャンゴ 2.2....

Linux 3.X/4.x/5.x でパゴダ パネルのパスワードを忘れた場合の解決方法

ssh に入り、次のコマンドを入力してパスワードをリセットします (コマンドの末尾の「testpas...

HTML の div、td、p およびその他のコンテナーでの強制改行と非改行の実装

1. 改行を強制せず、省略記号で終了します。コードをコピーコードは次のとおりです。 <div ...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

さまざまなブラウザでのhrタグの説明

通常、人事担当者と会うことはめったにありませんが、一度会うと、それが生死を分けることもあります。 H...

js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

この記事の例では、コンテンツの計算を実現するためのjsドラッグアンドドロップテーブルの具体的なコード...