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

推薦する

インデックスは MySQL クエリ条件で使用されますか?

雇用主から MySQL クエリ条件でインデックスが使用されるかどうかを尋ねられた場合、どのように答え...

SpringBootはActiviti7実装コードを統合する

Activiti7 の正式リリース以降、SpringBoot2.x との統合開発を全面的にサポートし...

JavaScript のガベージコレクションの仕組みの詳細な説明

目次ガベージコレクション (GC) はなぜ必要なのでしょうか?ガベージコレクションとは廃棄物の発生ガ...

JavaScript の静的スコープと動的スコープを例を使って説明します

目次序文静的スコープと動的スコープ静的スコープ実行プロセス動的スコープ実行プロセスエクササイズ練習1...

MySQLでデータテーブルを作成するときにエンジンMyISAM/InnoDBを設定する

mysql を構成するときに、構成ファイル内のデフォルトのストレージ エンジンを InnoDB に設...

LinuxサーバにおけるNginxとApacheの共存の実装方法の分析

この記事では、Linux サーバー上で Nginx と Apache の共存を実装する方法について説...

Nginx でバージョン番号と Web ページのキャッシュ時間を非表示にする方法

Nginx の最適化 - バージョン番号と Web ページのキャッシュ時間を非表示にするバージョン番...

MySQL の準同期レプリケーションについての簡単な説明

導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...

マルチコア CPU を使用して Linux コマンドを高速化する方法 (GNU Parallel)

非常に大量のデータ(数百 GB)を計算する必要があったことはありますか?または、その内部を検索したり...

テーブルのネストと境界の結合の問題に対する解決策

【質問】外側のテーブルと内側のテーブルがネストされていて、内側のテーブルと外側のテーブルの両方に境界...

MySQL の 6 つの一般的な制約タイプの詳細な説明

目次序文1.nullでない2. ユニーク3. デフォルト4.主キー自動増分主キー5. 外部キー6.チ...

ドメイン名を nginx サービスにバインドする方法

nginx.conf で複数のサーバーを設定します。 http リクエストを処理する際、nginx ...

Linux環境でのActiveMQ導入方法の詳しい説明

この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...

MySQL データ定義言語 DDL の基本ステートメント

MySQL DDL ステートメントDDL、DMLとは何ですか。 DDL はデータ定義言語であり、CR...

Linux での grep コマンドの使い方の詳細な説明

1. 公式紹介grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対...