作成するユーザとその用途を決める

  • apps
    • AppsサーバからMasterDBにつなぐ用
  • repl
    • SlaveサーバがMasterにつなぐ用
  • monitor
    • 監視用
  • support
    • 分析などの用途の為に、ローカルからつなぐ用
  • file
    • 大量のCSVをロードする時などに使用

ユーザの作成と確認を一気に行う

MYSQL_APP_USERNAME=apps
MYSQL_APP_PASSWORD=XXXXXXXXXXXXX
MYSQL_SLAVE_USERNAME=repl
MYSQL_SLAVE_PASSWORD=XXXXXXXXXXX
MYSQL_CLIENT_USERNAME=monitor
MYSQL_CLIENT_PASSWORD=XXXXXXXXXX
MYSQL_SUPPORT_USERNAME=support
MYSQL_SUPPORT_PASSWORD=XXXXXXXXX
MYSQL_FILE_USERNAME=file
MYSQL_FILE_PASSWORD=XXXXXXXX


cat <<EOF | mysql -uroot -pXXXXXX
GRANT SELECT,INSERT,UPDATE,DELETE,SHOW VIEW,TRIGGER                                     on *.* to ${MYSQL_APP_USERNAME}@'%'               identified by '${MYSQL_APP_PASSWORD}';
GRANT REPLICATION SLAVE                                                                 on *.* to ${MYSQL_SLAVE_USERNAME}@'%'             identified by '${MYSQL_SLAVE_PASSWORD}';
GRANT REPLICATION CLIENT                                                                on *.* to ${MYSQL_CLIENT_USERNAME}@'%'            identified by '${MYSQL_CLIENT_PASSWORD}';
GRANT SELECT,INSERT,UPDATE,DELETE                                                       on *.* to ${MYSQL_SUPPORT_USERNAME}@'localhost'   identified by '${MYSQL_SUPPORT_PASSWORD}';
GRANT SELECT,FILE,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE VIEW,SHOW VIEW,TRIGGER   on *.* to ${MYSQL_FILE_USERNAME}@'localhost'      identified by '${MYSQL_FILE_PASSWORD}';
FLUSH PRIVILEGES;
SELECT  user,host,password FROM mysql.user;
EOF

そのほか

# ユーザの削除
DELETE FROM mysql.user WHERE user='ユーザ名';

# パスワードの変更
set password for root@localhost=password('rootパスワード');

# データベース作成
CREATE DATABASE ${APP_NAME} DEFAULT CHARACTER SET=utf8;


blog comments powered by Disqus

Categories

Tags

iPhone Sales

Books

Pinboard