概要
DB作るのめんどくさいなーと思わないように、理解を深めてすぐにDBを作り活用できるようにするために基本を抑える。
[bash]
#*************************************************#
#目的:すぐにDBをいじれる様になる
#そのために、上から順番に何度もコマンドを打ち込み覚えること!
#ユーザ周り・権限周りを覚える!
#
#前提
# - MySQLがインストール済み
# – rootユーザのパスワードを知っている
#*************************************************#
# ssh接続
ssh hoge@varlal.net -p hogehoge
#*************************************************#
# サービス起動スクリプトを見る
cat /etc/init.d/mysqld
# サービスの自動起動の確認
chkconfig –list mysqld
# サービスが開始しているかどうかの確認(pidの確認)
service mysqld status
#必要に応じてプロセスを確認
ps ax | grep mysqld
# サービス開始
service mysqld start
# サービス停止
service mysqld stop
# サービス再起動
service mysqld restart
#*************************************************#
# mysqlにログイン(パスワードが設定されていた場合怒られる)
mysql
# mysqlにログイン(rootユーザでパスワード有り)
mysql -u root -p
#userの作成(パスワードなし)
mysql> CREATE USER ‘hoge’@’localhost’;
#userの作成(パスワードあり)
mysql> CREATE USER ‘hogep’@’localhost’ \
IDENTIFIED BY [PASSWORD] ‘password’;
#ユーザの確認
mysql> select User,Host from mysql.user;
#mySQLから離脱(どっちでも良い)
mysql> exit
mysql> quit
#hogeユーザでログイン
mysql -u hoge
#ステータス確認(ユーザが変更されて入っているか?)
mysql> status
#mySQLから離脱
mysql> exit
#hogepユーザでログイン
mysql -u hogep -p
#ステータス確認(ユーザが変更されて入っているか?)
mysql> status
#*************************************************#
#パスワードの再設定(現在hogepユーザに居ると思うので)
mysql> SET PASSWORD = PASSWORD(‘newhogehoge’)
#hogeユーザのパスワードも変更したいが権限が足りずできない。
mysql> SET PASSWORD FOR ‘hoge’@’localhost’ = PASSWORD(‘hoge’)
#mySQLから離脱
mysql> exit
#rootユーザでログイン
mysql -u root -p
#hogeユーザのパスワードを変更する
mysql> SET PASSWORD FOR ‘hoge’@’localhost’ = PASSWORD(‘hoge’)
#mySQLから離脱
mysql> exit
#hogeユーザでパスワードログインできないことの確認
mysql -u hoge
#hogeユーザで先に設定した’hoge’でログイン
mysql -u hoge -p
#mySQLから離脱
mysql> exit
#hogepユーザでパスが変更できているか’newhogehoge’でログイン
mysql -u hogep -p
#mySQLから離脱
mysql> exit
#*************************************************#
#いろいろ権限がいるので、rootユーザで入る
mysql -u root -p
#ユーザ名の変更
mysql> rename user ‘hogep’@’localhost’ to ‘hogep2’@’loclahost’;
#ユーザの確認
mysql> select User,Host from mysql.user;
#hogeユーザの削除(hogep2は残しておく)
mysql> drop user ‘hoge’@’localhost’;
#ユーザの確認
mysql> select User,Host from mysql.user;
#*************************************************#
#rootユーザの権限を確認する
mysql> show grants;
#hogep2ユーザの権限を確認する
mysql> show grants for ‘hogep2’@’localhost’;
#*************************************************#
#この状態だと、hogep2ユーザは何も権限を持っていない
#とりあえず、testdatabaseとtesttableを制作し、そのDBにhogep2ユーザが
#SELECT,INSERT,UPDATE,DELETEしかできない様に変更する
#*************************************************#
#データベース作成&確認
mysql> create database testdatabase;
mysql> show databases;
mysql> USE testdatabase;
mysql> status
#テーブル作成&確認
mysql> create table testdatabase.testtable \
(id int, name varchar(20));
mysql> select * from testtable;
#権限の変更
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON testdatabase.* \
TO ‘hogep2’@’localhost’;
mysql> show grants for ‘hogep2’@’localhost’;
#mySQLから離脱し、hogep2ユーザ(newhogehoge)で入り直し、
#オプションでデータベースを指定し、ログイン時にDBに入る
mysql> exit
mysql> mysql -u hogep2 -p testdatabase
mysql> status
#testtableに対し、挿入を試みる
mysql> INSERT INTO testdatabase.testtable \
(id, name) values (0,"varlal");
mysql> select * from testtable;
#更新(UPDATE)を試す
mysql> update testtable set name = "VARLAL" where id = 1;
mysql> select * from testtable;
#削除(delete)を試す
mysql> delete from testtable where id=1;
mysql> select * from testtable;
#テーブル作成を試みて、権限が無いことを確認する
mysql> create table mytable (id int,age int);
#*************************************************#
#rootユーザでログインし直す
mysql> exit
mysql> mysql -u root -p
#特定のデータベースにアクセスできる一般ユーザを新たに作成する
mysql> GRANT ALL ON testdatabase.* TO basicuser@’localhost’ \
IDENTIFIED BY ‘basicuser’;
mysql> select User,Host from mysql.user;
mysql> show grants for ‘basicuser’@’localhost’;
#basicuserでログインし直す
mysql> exit
mysql> mysql -u basicuser -p testdatabase
mysql> status
mysql> show grants;
#テーブルを作成する
mysql> create table mytable (id int,age int);
mysql> show tables;
mysql> select * from mytable;
#テーブルを削除する
mysql> drop table mytable;
mysql> show tables;
#データベース削除を試みて権限が無いことを確認する
mysql> show databases;
mysql> drop database testdatabase;
#*************************************************#
#rootユーザでログインし直す
mysql> exit
mysql> mysql -u root -p
#testdatabaseを削除
mysql> drop database testdatabase;
mysql> show databases;
#hogep2とbasicuserを削除
mysql> drop user ‘hogep2’@’localhost’,’basicuser’@’localhost’;
mysql> select user,host from mysql.user;
#*************************************************#
[/bash]
★あとは、一般的なSQL操作の練習あるのみ!
SQL練習問題
#参考ページ
DBOnline|MySQLの使い方
MySQLのインストール / CentOS・Red Hat Linux実践テクニック
コメント