MySQL
公式サイト
参考にしたサイト
インストール
レポジトリのインストール
$ 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;
rootユーザの新しいパスワードを設定
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '<新しいパスワード>';
MySQLのステータスの確認
動作しているバージョンが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>
DBのバックアップ
- バックアップ
$ mysqldump -u <MySQLユーザー名> -p<MySQLパスワード> <Redmineデータベース名> > <データ出力先ファイル名>
※「-p」の直後は半角スペースはいらない。
- リカバリ
mysql -u <MySQLユーザー名> -p<MySQLパスワード> <Redmineデータベース名> < <ダンプデータファイル名>
※上記リカバリコマンドは、sqlファイルを実行するときも同じコマンドとなる。
コメント