mysql の設定を行う。
初期設定を行う
mysql_secure_installation
下記の設定が行える。
rootパスワードの設定
anonymousユーザの削除
rootでリモート接続設定
testDBの削除
文字コードなどの設定を行う。
下記のファイルを修正する。
vim /etc/my.cnf
文字コードの設定とデフォルトテーブルの種別設定を行う。
[mysqld]
character-set-server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
接続確認
mysql -u root -p
Access denied for user 'root'@'localhost' (using password: YES)
のようなエラーとなる場合は、パスワードが間違っている可能性が高い。
データベース作成
CREATE DATABASE sample;
use sample;
作成した後、作成したデータベースに移動する。
これをしないと権限設定時などでNo database selected
とエラーになる。
ユーザ追加
CREATE USER 'ユーザ名'@'localhost' IDENTIFIED BY 'パスワード';
外からもアクセス可能にするにはlocalhostを接続先のドメインにする。
どこからでも接続可能にする場合は**%**とする。CREATE USER 'ユーザ名'@'%' IDENTIFIED BY 'パスワード';
権限追加
全ての権限をつける。
GRANT all ON [db or dable] TO 'ユーザ名'@'localhost';
全権限つける場合は[db or dable]に **「*.*」**を指定する。
ユーザ名を間違っていると下記のエラーが表示される。
パスワードが要件を満たしているか以外にもユーザ名の指定が正しいかの確認が必要。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
ユーザ名がuser1の場合、TO 'user1'@'localhost' となる。
権限をつけたユーザが既にDBに接続している場合、権限を反映させるには再接続が必要。
下記のSQLで権限情報が確認できる。
SHOW GRANTS FOR 'ユーザ名'@'localhost';
*%*で権限をつけたい場合は、SHOW GRANTS for 'ユーザ名'@'%'
;
権限の削除はREVOKE ALL PRIVILEGES ON [db or dable] FROM 'ユーザ名'@'localhost';
下記のSQLでユーザ情報が確認ができる。
select user,host from mysql.user