CentOS に MySQL8.0をインストールする

2021-01-26
mysqlmariadbcentoslinuxred%20hat
    

目次

概要

CentOS (8.3) に MySQL8.0をインストールして起動した際の記録です。 dockerで利用するためにmysqldから起動します。

はじめに

CentOS (8.3) に MySQL8.0をインストールして起動するのであれば systemctl などを使うことが一般的だと思いますが、 ここに記載する方法は systemctl を利用せず mysqld コマンドから立ち上げる方法です。 と言うのも Docker では systemctl を利用するのが厄介です。 色々ゴニョゴニョする必要があります。もちろん普通に立ち上げようとすると怒られます。 dockerコンテナ内でsystemdが動かないとかなんとか言われる。 - Tihiroのストレスフリーな生活

$ systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

なので mysqld コマンドから起動する方法でセットアップしました。

環境

  • CentOS Linux release 8.3.2011
  • mysql Ver 8.0.21 for Linux on x86_64 (Source distribution)

起動

docker run --detach --name test -p 8080:80 --privileged  -it centos:8 /bin/bash
docker exec -it test bash

MySQLインストール

まずは以下のコマンドでmysql-serverをインストールします。clientも一緒にインストールされます。

dnf -y update
dnf -y install mysql-server

my.cnf の設定

/etc/my.cnf に 最低限の設定を記載します。

[mysqld]
user = mysql
default-authentication-plugin = mysql_native_password
lower_case_table_names = 0

プロセス立ち上げ

/usr/sbin/mysqld --user=mysql --initialize でプロセスを立ち上げます。

$ /usr/sbin/mysqld --user=mysql --initialize
2021-01-26T15:07:27.283529Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.21) initializing of server in progress as process 179
2021-01-26T15:07:27.291551Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-01-26T15:07:27.750767Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-01-26T15:07:28.971631Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: PASSWORD # ← ランダムな文字列が表示される 

rootユーザのpasswordが表示される(PASSWORD)ので控えます。これでrootユーザでログインできるようになります。

$ /usr/sbin/mysqld --user=mysql & # バックグラウンドに移す
$ mysql -uroot -hlocalhost -p

エラー

The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.

The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.

こんなエラーがでたら /var/lib/mysql/ 以下を削除します。

rm -rf /var/lib/mysql/*

参考にさせていただいたサイト

Docker+CentOS8にnginx,PHP,MySQLをインストールしたコンテナを作成する - あるSEのつぶやき・改

dockerコンテナ内でsystemdが動かないとかなんとか言われる。 - Tihiroのストレスフリーな生活

    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

CentOS で スマートにプロキシを設定する
コマンドライン上で通す よりスマートに設定する 設定ファイルに記述 CentOSでプロキシを通す設定のメモです。 プロキシ環境で yum/dnf でリポジトリを更新する場合や、curl/wget…

MySQL8.0 で利用できるパラメータを表示する方法
オプションの表示 mysql8.0でmy.cnfなどで利用できるパラメータ一覧を出す方法。 オプションの表示 オプションの表示は次のコマンドで実施できます mysqld — The MySQL Server 【MySQLパラメーター比較資料】MySQL 5.…

PHP-FPM(php7.4) Apache2.4 on Ubutnu20.04 Webサーバ構築
環境 パッケージの更新 Apache と PHP のインストール Apache のサービスを開始する PHPファイルを作成 参考にしたサイト Ubuntu20.04 に PHP7.4 + Apache2.4 をインストールしてWeb…

PHP-FPM(php7.4) Apache2.4 でWebサーバ構築 on CentOS8
環境 php7.4 のインストール apacheのインストール php-fpmの設定を変更する php-fpm の起動 apacheの起動 確認 おまけ: エラーと解決方法 "System has not been booted with systemd as…

CentOS8 に PHP7.4 インストール
環境 普通にインストールしようとするとphp7.2がインストールされる modularityについて php7.4 インストール CentOS8 に modularity を利用して PHP7.4をインストールした際のメモです。 環境 CentOS8.…

UNIXドメインソケット通信 vs INETドメインソケット通信 php-fpmで動作させる場合の違いについて
結論 ソケット通信について ソケットについて ソケット通信の種類 UNIXドメインソケット通信を行う場合のメリット 参考にしたサイト php-fpm の設定方法で調べた際にIPとポートで設定するパターンとUNIX…

CentOS8にDNFでPerl5.30のインストール
Modularityについて Perl5.30インストール dnf module でハマったところ その他 Perl5.26の場合 Perl5.24の場合 CentOS8 or CentOS Streamに Perl5.30をDNF…

homebrew-core is a shallow clone. 対処法
homebrew で homebrew-core is a shallow clone.と 表示されたエラー 対処法 homebrew で homebrew-core is a shallow clone.と homebrewでupdate…

centos-streamのDockerコンテナイメージを作成した
背景 centos-stream コンテナのビルド & インストール 参考にしたところ centos-streamのDockerコンテナイメージを作成しました。 背景 CentOS8からCentOS Stream…

CentOS8でEPELとPowerToolsリポジトリの有効化
EPELとPowerToolsについて EPEL PowerTools EPELとPowerToolsの有効化 Powertoolsの有効化 epel-releaseのインストール 参考にしたサイト CentOS8でEPELとPowerTools…

最新の投稿

フェールセーフやフェールソフト・フールプルーフ 障害対策用語のまとめ

JSで32ビット符号付き整数に対してのビット演算でハマった
具体例 参考にしたサイト JSでサブネットマスクの計算を行おうとしたとき、ビット演算でハマりました。その時のメモです。 JSでサブネットマスクの計算 JSでビット演算子を利用する場合 3…

Gitにプロキシを設定する
プロキシを設定する 確認 Gitでプロキシを通しておくメモです。 プロキシを設定する 以下のコマンドでproxyを通します。 ※ がプロキシのURL…

JSでIPアドレスがサブネットマスクで指定した範囲内にあるか判定する
IPアドレスが指定した範囲内にあるかどうか判定 参考にしたサイト JSでIPアドレス(IPv4)が指定したサブネットの範囲に含まれるか判定するロジックを作った時の記録です。 IPアドレスが指定した範囲内にあるかどうか判定 処理としては、IP…

プログラムの数値計算で発生する誤差の種類 丸め誤差・打ち切り誤差・桁落ち
はじめに 誤差の種類 丸め誤差 打ち切り誤差 桁落ち 情報落ち 桁溢れ誤差 参考にしたサイト コンピュータで出てくる誤差はいくつかありますが、 それらをコードに落として整理しました。 はじめに 例えば の計算の答えは 0.6666666666…

JSでサブネットマスクの計算
JSによるサブネットマスク関連の計算 IPv4アドレス文字列をNumber型に変換する CIDR と サブネットの相互変換 ネットワークアドレス と ブロードキャストアドレス クラス 改めて計算方法を整理する 参考にさせていただいたサイト JSでIPv…

Homebrew で php7.4 + Xdebug をインストール
php7.4のインストール Xdebugのインストール php.ini に追記 参考にさせていただいたサイト phpunitのカバレッジを算出を行うためにMacにHomebrewでphp7.4をインストールしようとした際の記録です。 php7.…

CentOS で スマートにプロキシを設定する
コマンドライン上で通す よりスマートに設定する 設定ファイルに記述 CentOSでプロキシを通す設定のメモです。 プロキシ環境で yum/dnf でリポジトリを更新する場合や、curl/wget…

MySQL8.0 で利用できるパラメータを表示する方法
オプションの表示 mysql8.0でmy.cnfなどで利用できるパラメータ一覧を出す方法。 オプションの表示 オプションの表示は次のコマンドで実施できます mysqld — The MySQL Server 【MySQLパラメーター比較資料】MySQL 5.…

CentOS に MySQL8.0をインストールする
はじめに 環境 起動 MySQLインストール my.cnf の設定 プロセス立ち上げ エラー The designated data directory /var/lib/mysql/ is unusable. You can remove all files…

Tags

Dates

© 2021   404 motivation not found