この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 13837|答える: 0

[出典] LinuxアップデートMySQL 8.0の悲しい歴史

[リンクをコピー]
掲載地 2019/01/10 14:15:36 | | | |
この記事は個人的な経験に基づいており、MySQL 8.0のアップグレードプロセス全体や途中で遭遇した問題や解決策について述べています。

プロセス全体で参照された貴重な文書にはマーキングが施されます。

収集へようこそ、転送へようこそ。ただし、出典を明示したいと思いますハイパーリンクのログインが見えます。翻訳元簡単ではありません



まず、必要なインストールパッケージをダウンロードしてインストールし、必要に応じて選びます(例としてrhel7.4、64ビットです)

ハイパーリンクのログインが見えます。



タールパッケージのジッパーを開けろ

Tar -zxvf mysql-8.0.4-0.1.rc.el7.x86_64.rpm-bundle.tar

エラー

gzip: stdin: not in gzipformat

tar: Child returnedstatus 1

tar: Error is notrecoverable: exiting now


回避策:

zパラメータを外し、tar -xvfを使って通常の減圧を行います

原因分析:

1. 圧縮ファイル名が人工的に変更されている場合、例えば:元の圧縮が.gzされておらず、接尾辞が人工的に改変され、接尾辞を削除してから解凍できます。例えば、file FMIS2600DMP.tar.gz、gz接尾辞を削除し、tar -xvfで解凍します

2. -zパラメータは実際にはbz2を呼び出しる加圧または復式プログラムであり、このパラメータを取り除くことでこの問題を回避できます
ソフトウェアパッケージのインストール

以下の手順に従うと、パッケージ依存性の問題が大きくなります。 具体的な問題は挙げませんが、かなり多くの問題に直面しています

すべてのrpmパッケージを同じ空のフォルダに入れてください。ただしmysql-community-server-miniaml-*だけは例外です。サーバーとクライアントと競合するためです。




次に、以下のコマンドを使ってインストールしてください(すべてのパッケージを直接インストールすることをおすすめします。下のリンクのように制限する必要はなく、そうすると競合の問題が起きます。yumで9つのrpmパッケージをすべてインストールしてください。yumでインストールすることが推奨されます。rpmコマンドは使わないでください。yumは自動的にインストールパッケージ間の競合や依存関係を検出し、解決してくれます)。

sudoyum install mysql-community-*

インスタレーションの参考文献:https://dev.mysql.com/doc/refman ... stallation-rpm.html


ローカルのMySQLサーバーに接続できません。'/var/lib/mysql/mysql.sock




解決のステップ:

1 systemctl stop mysqld (stop service)

2 rm -fr /var/lib/mysql/* (/var/lib/mysql 下のすべてのファイルを削除)

3 rm /var/lock/subsys/mysqld (delete lock file)

4 killall mysqld(すべてのmysqldプロセスを殺す)

5 systemctl start mysqld (Start the mysql service.) )

参考リンク:https://www.cnblogs.com/okstill/p/5667138.html


ルートユーザーはパスワードなしでデータベースにログインします

ユーザー 'root'@'localhost' へのアクセス拒否(パスワード:YES 使用)

方式:

ルートの一時パスワードを飛ばして、データベースにログインしてパスワードを変更してください

1. MySQLサービスを終了する:

SystemCTL stop mysqld

2. 環境変数を権限チェックをスキップする設定

systemctlset-environment MYSQLD_OPTS="--skip-grant-tables"

3. MySQLサービスの再起動

systemCTL Start MySQLD

4. ルートとしてログイン

mySQL -u root

この時点で、正常にログインできます




5. rootパスワードの設定

UPDATE mysql.userSET authentication_string= PASSWORD('Root@123') WHERE User = 'root';

MySQL 5.6以降、パスワードの強さはvalidate_passwordプラグインのリリースにより強化されました(場所によっては以前から存在していたようですが、現在は必須となっています)。 パスワードの強度要件をサポートしましょう。 、validate_passwordの各パラメータの設定要件を以下のコマンドで確認します。

MySQL パスワード強度監査プラグイン:使用方法validate_passwordhttp://www.xuchanggang.cn/archives/1033.html


「validate_password%」のような変数を表示します。




パラメータは以下のコマンドで設定でき、パスワード強度要件に関して最も重要なパラメータは以下のポリシーです

set global validate_password.policy=LOW;




強化

UPDATEmysql.user SET authentication_string = 'root123' ここで User = 'root';




パスワードを変更する最終コマンドは

UPDATEmysql.user SET authentication_string = 'root123' ここで User = 'root';




6. mysqlサービスを停止する

SystemCTL stopmySQLd

7. 以前設定した許可チェックをスキップするオプションをキャンセルする

SystemCTL 未設定環境MYSQLD_OPTS

8. mySQLを通常通り起動する

systemCTL Start MySQLD

9. 先ほど設定した新しいパスワードでログイン

mySQL -u root -p



ログの問題に関する参考文献:http://blog.csdn.net/u014306472/article/details/78160427



デフォルトのパスワードを確認してください

grep「temporary password」/var/log/mysqld.log



ここに、上記のコマンドを一括で書いたコピーがあります。これは3回ではなく一度だけ実行されるようにするためです

再度ログインする前に、systemctl stop mysqldを確認するためのスキップ権限を設定してください。 systemCTL set-environmentMYSQLD_OPTS="--skip-grant-tables"; systemCTL Start MySQLD
リセット
設定が完了したら、権限チェックsystemctl stopmysqldに返信してください。 systemctl 未設定環境MYSQLD_OPTS; SystemCTL Start MySQLD;





先の:YouCore思考トレーニング:フレームワークで問題を解決
次に:公共行政電子版教材
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com