MySQL8.0.xインストール

MySQLをOracle社からダウンロード

MySQLをOracle社のサイトからダウンロードします。 ( https://dev.mysql.com/ ) または、yum(dnf)リポジトリからのオンラインインストールが出来る。
PKGの依存関係解決のため、MySQL公式yumリポジトリを利用する。
① yumリポジトリRPMファイルをダウンロードし、インストール
② MySQLをインストール
③ MySQLサーバーを起動(初回起動時にだけデータベースの初期化)

MySQL公式yumリポジトリをシステムのリポジトリリストに追加登録する。(MySQLの公式サイトからDLできるRPMファイルをinstallすることで登録出来る。
https://dev.mysql.com/downloads/repo/yum/ にアクセス。



今回は、CentOS Stream9なので、↑の一番上のRed Hat Enterprise Linux 9 / Oracle Linux 9をDLする。



この画面に切り替わるが、サインアップやログインしないでDLするので No thanks, just start my download. クリックしてDLを始める。

ローカルPCに mysql84-community-release-el9-1.noarch.rpm ファイルがDLできた。

一旦WinSCPで、該当サーバーに転送する。↓



転送出来たところでRPMファイルをroot権限で実行する。

[root@flask ~]# cd /home/tama
[root@flask tama]# ll
合計 20
-rwxr--r-- 1 tama tama 369 2月 17 09:06 err_mailadd_chek.sh
drwxr-xr-x 4 tama tama 34 2月 20 20:40 flask_web
-rw-r--r-- 1 tama tama 13139 3月 15 21:55 mysql84-community-release-el9-1.noarch.rpm
drwxr-xr-x 3 tama tama 48 2月 22 08:06 python_pure
[root@flask tama]# dnf localinstall mysql84-community-release-el9-1.noarch.rpm



パッケージのダウンロード:
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
インストール中 : mysql84-community-release-el9-1.noarch 1/1
検証中 : mysql84-community-release-el9-1.noarch 1/1

インストール済み:
mysql84-community-release-el9-1.noarch

完了しました!
[root@flask tama]#

一応リポジトリに追加されたか確認する↓
[root@flask tama]# dnf repolist enabled
repo id repo の名前
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - Extras packages
mysql-8.4-lts-community MySQL 8.4 LTS Community Server            → うまくいった
mysql-connectors-community MySQL Connectors Community           → うまくいった
mysql-tools-8.4-lts-community MySQL Tools 8.4 LTS Community         → うまくいった

この後、情報にあったのがMySQLモジュールリストを無効化する必要があるとのことだった。??なんで?と思って調べたらMySQLリポジトリには、複数のバージョンや
関連するサブリポジトリ(例: MySQL 5.7、MySQL 8.0、MySQL Cluster など)が含まれていて、デフォルトでは最新バージョン(現在は MySQL 8.0)が有効化されているが、
他のバージョンやモジュールが有効になっていると、インストール時に競合が発生する可能性がある。とのことだった。
新規インストールだが、念のためMySQLモジュールリストを無効化する。( dnf module disable mysql )



うまく無効化できた。それではdnf を使ってインストールする。
[root@flask tama]# dnf install mysql-community-server



鍵をインポートする↑



どうやら上手く行ったらしい。mysqldを起動する。
[root@flask tama]# systemctl start mysqld.service
また、再起動しても恒久的に起動するようebable しておく 

[root@flask tama]# systemctl enable mysqld.service

 起動も上手くいった。最後は、初期設定を残すのみ。

MySQLの初回起動時にデータベースファイルが初期化される。データベースファイルは /var/lib/mysql ディレクトリ下に作成される。設定ファイルは /etc/my.cnf となる。

 項目 ファイルまたはディレクトリ 
 データベースディレクトリ    /var/lib/mysql/
 設定ファイル  /etc/my.cnf

データベースファイル初期化時にMySQLの管理者PWが設定される。初期PWは、 /var/log/mysqld.log に記載されているので、一旦初期PWをつかってMySQLに接続し、
root のPWを変更して終了する。

[root@flask tama]# grep 'temporary password' /var/log/mysqld.log



temporary passwordの初期PWを使って、MySQLに接続する

[root@flask tama]# mysql -u root -p
Enter password: 調べたPWを入力する



mysql>のプロンプトになったので、問題なく接続できた。rootのPWを変更する。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '変更するPW';

 上手くいった!

まずは、MySQLのインストールは、終了となります。特に問題なくinstall出来ました。