ユーザ用ツール

サイト用ツール


サイドバー

サーバ:aws:サーバ構築手順:amazon_linux_2_に_mysql8_をインストール

Amazon Linux 2 に MySQL8 をインストール

# インストール済みの MySQL を確認
yum list installed | grep mysql

# インストール済みの MariaDB を確認
yum list installed | grep mariadb

# MariaDB のアンインストール
sudo yum remove mariadb-libs

# インストールされる MySQL のバージョンを確認
yum info mysql

# MySQL のバージョンが古い場合やパッケージがない場合は、リポジトリを追加
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

# インストールされるバージョンを確認
sudo yum info --enablerepo=mysql80-community mysql-community-server

# MySQL のインストール
sudo yum install -y --enablerepo=mysql80-community mysql-community-server

# バージョン確認
mysql --version

# 起動
sudo systemctl start mysqld.service

# 自動起動
sudo systemctl enable mysqld.service

# ステータスの確認
systemctl status mysqld.service

# ログディレクトリの作成
sudo mkdir /var/log/mysql
sudo chown mysql:mysql /var/log/mysql

# my.cnfの編集
sudoedit /etc/my.cnf

log-error=/var/log/mysql/mysqld.log

slow_query_log=1
slow_query_log_file=/var/log/mysql/slow_query.log
long_query_time=0.1

validate_password.policy=LOW

# root ユーザのパスワード確認
sudo cat /var/log/mysqld.log | grep "temporary password"

# セキュリティ&パスワード設定
# 全てy
sudo mysql_secure_installation

# MySQL の再起動
sudo systemctl restart mysqld.service

# 不要になったログファイルの削除
sudo less /var/log/mysqld.log
sudo rm /var/log/mysqld.log

# MySQL にログイン
mysql -u root -p

# パスワードポリシーの確認
show variables like 'validate_password%';

# ログ設定の確認
show variables like '%log%';

# 文字コードの確認
show global variables like 'character%';

# ユーザの作成
create user USER_NAME@'localhost' identified by 'PASSWORD';

select user, host from mysql.user;

create database DB_NAME;

# 権限の付与
grant all on DB_NAME.* to USER_NAME@'localhost';

flush privileges;

show grants for USER_NAME@'localhost';

exit;

# 接続テスト
mysql -u USER_NAME -p -D DB_NAME

追記:buffer pool のメモリが足りてないエラー

とあるサーバで、MySQL の再起動に失敗し、MySQL接続エラーが発生しました。
ログを確認したところ、以下のように表示されました。

mmap(137363456 bytes) failed; errno 12
Cannot allocate memory for the buffer pool
Plugin initialization aborted with error Generic error.
Failed to initialize DD Storage Engine
Data Dictionary initialization failed.
Aborting
/usr/sbin/mysqld: Shutdown complete (mysqld 8.0.22) MySQL Community Server - GPL.

原因は buffer pool のメモリが足りてないということでした。
デフォルトでは 128M になっているので、my.cnf を編集して適当な値に増やします。

# innodb_buffer_pool_size の変更
sudoedit /etc/my.cnf

[mysqld]
innodb_buffer_pool_size = 512M

# MySQL 再起動
sudo service mysqld restart

# MySQL に接続して、値が増えているのを確認
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| innodb_buffer_pool_size | 536870912 |
+-------------------------+-----------+
1 row in set (0.01 sec)

コメント

コメントを入力. Wiki文法が有効です:
 
サーバ/aws/サーバ構築手順/amazon_linux_2_に_mysql8_をインストール.txt · 最終更新: 2021/04/05 10:58 by humolife