Help us understand the problem. What is going on with this article?

さくらVPS Cent OS7.7 にMySQL8をインストールした

前回はNginxを入れました。
https://qiita.com/tears-aya/items/ca1d3ab12a55f6d9eee7

今回はMySQLを入れます。

MariaDB削除

CentOS7では、MariaDBが最初からインストールされています。
MySQLと競合しないようにMariaDBとデータベースを削除。
※MariaDBとは
MySQL派生として開発されている、オープンソースの関係データベースシステムです。

sudo yum remove -y mariadb-libs
rm -rf /var/lib/mysql

MySQLのレポジトリを追加

https://dev.mysql.com/downloads/repo/yum/
こちらからダウンロードしたいバージョンなどを確認する。
今回はMySQL8.0を選択。

sudo yum localinstall http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

MySQLのインストールとバージョンの確認

sudo yum -y install mysql-community-server
mysqld --version

/usr/sbin/mysqld  Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)

MySQLの起動と永続化

sudo systemctl start mysqld.service
sudo systemctl enable mysqld.service

初期パスワードをメモする

sudo grep password /var/log/mysqld.log
2020-02-14T02:04:39.509953Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: i6DRJey8Ea;y #これをメモる

mysql_secure_installationを実行

mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: #メモしたパスワードを入力

The existing password for the user account root has expired. Please set a new password.

New password: #新しいパスワード(英字大小文字、数字、記号)

Re-enter new password: #パスワード確認

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : #yで良い

New password: #パスワードを再入力

Re-enter new password: #パスワードを再入力

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :#yで良い

Remove anonymous users? (Press y|Y for Yes, any other key for No) : #匿名ユーザーの削除なのでyで良い

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : #リモートでrootを利用できないように(yにした)

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : #テストDBを削除する。yにした

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : #テーブル権限読み込み。yにした

All done!

my.cnfの編集

下記に2行を追記した。
character-set-server = utf8 #文字コードをUTF8に設定
default_password_lifetime = 0 #パスワードの有効期限をなしにする

sudo vi /etc/my.cnf

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#追記
character-set-server = utf8 
default_password_lifetime = 0

再起動

systemctl restart mysqld.service

MySQLへログイン

 mysql -u root -p

と私の場合はここでログインできない事態が発生しました。
原因は上で設定したパスワードのメモが間違ってるくらいしか思いつかないのですが、
こちらで対処して無事ログイン。
https://qiita.com/tears-aya/items/d290967276b753d5f715

以上でインストール作業終了です。

下記記事を参考にさせて頂きました。
https://www.sakura-vps.net/centos7-setting-list/mysql-settings-for-sakura-vps-centos7/
https://qiita.com/zaburo/items/7518a432d915c061983f

tears-aya
◇音楽家 ・作詞、作曲、編曲、ミキシング、プロデュース ・ドラマー兼ピアニスト見習い ◇メディアプロデューサー オーダーメイドで企画にあった楽曲を提供します。 ◇プログラマー WEB系を中心に経験してきました。 詳しくはサマリーをご参照ください。 トランスジェンダーです。
https://twitter.com/oBhgfhaVdavW7IE
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした