昨日のOracleのドキュメントに従ってmysqlをインストールし、最新バージョン8.0を選択しました。その後、いくつかの問題が発生しました。インターネットで回答を検索しました。基本的な解決策は5.xバージョンであり、8.0バージョンは適用できませんでした。次に、会社の公式環境で購入したAlibaba Cloudrdsバージョン5.7を確認しました。この場合、公式環境との整合性を保つために5.7を再インストールする必要があります。しかし、なぜバージョン6.0または7.0がインストールされていなかったのか、突然少し気になりました。結局、2つのメジャーバージョンがありました。さらに奇妙なのは、mysqlの公式ドキュメントのバージョンリストを調べたところ、6.0または7.0のドキュメントがないことがわかったということです。
これは楽しいです、なぜ6.x、7.xではないのですか。
オンラインで検索しました。
事実上、いくつかのパフォーマンスの問題のために6が突然消えました。その後、OracleはSunを買収し、6の開発を停止し、7つの関連機能を8に統合しました。したがって、8は最新の重要なバージョンになりました。
ドキュメント[アドレス](https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html)、バージョン5.7であることに注意してください。
これは、次のステップに分けることができます。
yumerge mysql
yを選択し、終了します
完了後、 / etc / my.cnf
と / etc / mysql
がまだ存在するかどうかを確認します。これらは手動で削除する必要があります。余分な my.cnf.rpmsave
があることがわかりました。rpmはそれを保存するのに役立ちました。ここでは必要ありません。直接削除できます。
libaio
はmysqlの依存関係であり、最初にインストールできます(ただし、前回8.0をインストールしたときにインストールされなかったため、自動的にインストールする必要があります)。 libnuma
はmysqlのNUMA関数の依存関係なので、最初に手動でインストールしましょう。
yum install libaio yum install libnuma
[アドレス](https://dev.mysql.com/downloads/repo/yum/)を使用して、ご使用のシステムに応じて必要なバージョンを選択してください。私のシステムはcentos7.5なので、[el7](https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm)を選択してください。 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
を介してサーバーにダウンロードし、アドレスをランダムに保存します。名前はmysql80ですが、これはバージョン8.0がデフォルトで有効になっていることを意味し、実際には複数のバージョンが含まれています。後で有効になるように特定のバージョンを構成できます。
sudo yum localinstallmysql80-community-release-el7-1.noarch.rpm
最初にrpm構成をインストールします。
yum repolist enabled | grep "mysql。*-community。*"
は、正常に追加されたかどうかを確認します。
yumrepolistenabled| grep "mysql。*-community。*"
sudo yum install mysql-community-server
、エラーが報告されました。 5.7バージョンのcommonが必要であり、インストールは実際には8.0バージョンのcommonです。上記の質問には2つのオプションがあります
インストールされている8.0共通を削除します
プロンプト --skip-broken
パラメータ設定を使用して解決します
最初に最初のものを試してください。 yumerasemysql-community-common
が削除されます。インストールを再試行してください。 sudo yum installmysql-community-server
。エラーは報告されません。yを押してインストールを続行します。完了しました。
サービスを開始します。 Centos7は、 systemctl startmysqld.service
の使用を推奨しています。はは、失敗しました~~
sudo systemctl statusmysqld.service
を確認します。次の部分に分かれています。
mysqlサービスを初めて開始すると、次のことが自動的に実行されます。
サービスを開始します。
データディレクトリ(/ var / lib / mysql)にssl証明書と秘密鍵ファイルを生成します
[validate_password](https://dev.mysql.com/doc/refman/8.0/en/validate-password.html)プラグインをインストールして有効にします。このプラグインはデフォルトで有効になっており、8文字以上のパスワードが必要であり、大文字、小文字、数字、および特殊文字が必要です。
ユーザー 'root' @ 'localhost'
が作成され、パスワードは / var / log / mysqld.log
に保存されます。
パスワードを確認してください。 sudo grep '一時パスワード' / var / log / mysqld.log
mysql -u root -p
CREATE USER'root1 '@'% 'IDENTIFIED WITH mysql_native_password BY'xxxxxxxxxx';
。 %任意のアドレスを接続できることを意味します。 xxxは特定のパスワードであり、上記のパスワード規則に準拠する必要があります。パスワードの確認方法はmysql_native_passwordです。*。*のすべての権限を 'root1' @ '%'に付与します
すべての権限をroot1ユーザーに割り当てます。最初のアスタリスクはデータベース名を表します。したがって、一般に、最初にrootを使用してデータベースを作成し、次にこのデータベースのすべてのアクセス許可をユーザーroot1に割り当てることができます。割り当て後、アクセス許可の構成を更新する必要があります。 FLUSH PRIVILEGES
firewall-cmd --zone = public --add-port = 3306 / tcp --permanent
、プロンプト FirewallD is not running
がファイアウォールサーバーが起動していないことを示している場合は、有効にするかどうかを指定できます。次に、ファイアウォール構成を再ロードする必要があります。 firewall-cmd --reload
Recommended Posts