$ rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
最新のリポジトリはこちらで確認できる
下記のコマンドを実行し、「mysql80-community/x86_64」が有効になっていることを確認する。(2021/12現在)
$ yum repolist all | grep mysql
$ yum install mysql-community-server
$ systemctl start mysqld
$ systemctl enable mysqld
インストール時にrootユーザのパスワードがlogに出力される。
$ grep /var/log/mysqld.log
下記コマンド実行後、先ほど確認したパスワードを入力する。
$ mysql -u root -p
※MySQL接続時に下記のエラーが出る場合がある。その場合、下記の手順を実行する。
「mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost'」
参考サイト:MySQLに「'Access denied for user 'root'@'localhost'」で接続できない場合の対処法 - 初めてのVPS構築
「/etc/my.cnf」を開き、「[mysqld]」に「*skip-grant-tables」を追加する。
$ vi /etc/my.cnf
MySQLに接続し、設定ファイルで追記した設定を反映する。
$ mysql -u root -p mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '<新しいパスワード>';
動作しているバージョンが8.0.0以上になっていることを確認する。
mysql> status
追記した「skip-grant-tables」をコメントアウトもしくは削除する
$ mysql -u <UserName> -h localhost -p
$ mysqldump -u[ユーザ名] -p[パスワード] -r [出力データファイルパス] [データベース名]
オプションの指定で「–single-transaction」がある。
ダンプ中にテーブルをREADロックしないように付与する。
$ mysql -u[ユーザ名] -p[パスワード] [インポートするデータベース名] < [エクスポートファイル]
> select user, host from mysql.user;
> show grants for 'UserName'@'HostName';
> grant all privileges on <dbName>.* to <UserName>@<HostName>
> revoke all on <dbName>.* from <UserName>@<HostName>
$ mysqldump -u <MySQLユーザー名> -p<MySQLパスワード> <Redmineデータベース名> > <データ出力先ファイル名>
※「-p」の直後は半角スペースはいらない。
mysql -u <MySQLユーザー名> -p<MySQLパスワード> <Redmineデータベース名> < <ダンプデータファイル名>
※上記リカバリコマンドは、sqlファイルを実行するときも同じコマンドとなる。