LoginSignup
19

More than 5 years have passed since last update.

mysql 設定

Last updated at Posted at 2018-03-25

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19