Ubuntu下mysql常用操作


1:mysqlデータベースを開く
mysql-hホストアドレス-uユーザー名-pユーザーパスワード
mysql -h110.110.110.110 -uroot -pabcd123
コマンドmysql-uroot-p
2:パスワードの変更
フォーマット:mysqladmin-uユーザー名-p古いパスワードpassword新しいパスワード
mysqladmin -uroot -password ab12
mysqladmin -uroot -pab12 password djg345
3:ユーザーの追加
フォーマット:grant select onデータベース.*toユーザ名@ホストidentified byパスワード
MySQLがユーザー権限を付与するコマンドの簡単なフォーマットは、次のように要約されます.
grant    on       to   

この例は、MySQL 5.0以降で実行されます.
MySQLがユーザー権限を付与するコマンドの簡単なフォーマットは、次のように要約されます.
grant    on       to   

 
 
 
一、grant一般データユーザー、データベース内のすべてのテーブルデータを照会、挿入、更新、削除する権利.
grant select on testdb.* to common_user@'%' grant insert on testdb.* to common_user@'%' grant update on testdb.* to common_user@'%' grant delete on testdb.* to common_user@'%'

または、次の代わりにMySQLコマンドを使用します.
grant select, insert, update, delete on testdb.* to common_user@'%'

 
 
 
二、grantデータベース開発者、テーブル、インデックス、ビュー、ストレージプロセス、関数を作成します.のなどの権限があります.
grant MySQLデータテーブル構造権限の作成、変更、削除.
grant create on testdb.* to developer@'192.168.0.%';grant alter  on testdb.* to developer@'192.168.0.%';grant drop   on testdb.* to developer@'192.168.0.%';

 
grantはMySQL外部キー権限を操作します.
grant references on testdb.* to developer@'192.168.0.%';

 
grant操作MySQLテンポラリ・テーブル権限.
grant create temporary tables on testdb.* to developer@'192.168.0.%';

 
grant操作MySQLインデックス権限.
grant index on testdb.* to developer@'192.168.0.%';

 
grant操作MySQLビュー、ビューソースコード権限を表示します.
grant create view on testdb.* to developer@'192.168.0.%';grant show   view on testdb.* to developer@'192.168.0.%';

 
grantはMySQLストアド・プロシージャ、関数権限を操作します.
grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status grant alter  routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure grant execute        on testdb.* to developer@'192.168.0.%';

 
 
 
三、grant普通DBAはあるMySQLデータベースの権限を管理する.
grant all privileges on testdb to dba@'localhost'

ここで、キーワード「privileges」は省略できます.
 
 
四、grant高級DBAはMySQLのすべてのデータベースの権限を管理する.
grant all on *.* to dba@'localhost'

 
 
 
五、MySQL grant権限は、それぞれ複数の階層で使用できます.
1.grantはMySQLサーバー全体に作用する:
grant select on *.* to dba@localhost ; -- dba      MySQL          。 grant all    on *.* to dba@localhost ; -- dba      MySQL        

 
2.grantは単一のデータベースで機能します.
grant select on testdb.* to dba@localhost ; -- dba      testdb    。

 
3.grantは単一データテーブルに作用する:
grant select, insert, update, delete on testdb.orders to dba@localhost ;

 
ここでは、1つのユーザに複数のテーブルを許可するときに、上記の文を複数回実行できます.例:
grant select(user_id,username) on smp.users to mo_user@'%' identified by '123345';grant select on smp.mo_sms to mo_user@'%' identified by '123345';

4.grantは表の列に作用します.
grant select(id, se, rank) on testdb.apache_log to dba@localhost ;

 
5.grantはストレージプロセス、関数に作用する.
grant execute on procedure testdb.pr_add to 'dba'@'localhost' grant execute on function testdb.fn_add to 'dba'@'localhost'

 
 
 
六、MySQLユーザー権限の表示
現在のユーザー(自己)権限を表示するには、次の手順に従います.
show grants;

 
その他のMySQLユーザー権限を表示するには、次の手順に従います.
show grants for dba@localhost ;

 
 
 
七、MySQLユーザーに付与された権限を取り消す.
revokeとgrantの文法の差は多くなく、キーワード「to」を「from」に変えるだけです.
grant  all on *.* to   dba@localhost ;revoke all on *.* from dba@localhost ;

 
 
 
八、MySQL grant、revokeユーザー権限注意事項
1.grant、revokeユーザー権限の後、このユーザーはMySQLデータベースに再接続してこそ、権限が有効になります.
2.許可されたユーザーを他のユーザーに許可する場合は、「grant option」を選択する必要があります.
grant select on testdb.* to dba@localhost  with grant option;

この特性は一般的には使えない.実際には、データベース権限はDBAによって統一的に管理されることが望ましい.
 
 
 
*************************************************************************************************
 
SELECT command denied to user'ユーザー名'@'ホスト名'for table'テーブル名'というエラーに遭遇した場合、解決策は、コアデータベースを許可することです.
私が出会ったのはSELECT command denied to user'my'@'%'for table'proc'で、ストレージプロセスを呼び出す時に現れて、指定したデータベースを授権すればいいと思っていたが、どんなストレージプロセス、関数などはもう管理しなくてもいいので、誰が知っていてもデータベースmysqlのprocテーブルを授権しなければならない.
 
*************************************************************************************************
参照先:http://zhidao.baidu.com/question/19633785.html
 
mysqlライセンステーブルには、user、db、host、tablesの5つのテーブルがあります.privとcolumns_priv.
認証テーブルの内容には、userテーブルuserテーブルには、サーバに接続できるユーザーとそのパスワードがリストされ、グローバル(スーパーユーザー)権限を指定します.userテーブルで有効になっている権限はすべてグローバル権限であり、すべてのデータベースに適用されます.たとえば、DELETE権限を有効にすると、ここにリストされているユーザーはどのテーブルからもレコードを削除できるので、そうする前によく考えてください.
dbテーブルdbテーブルにはデータベースがリストされ、ユーザーはそれらにアクセスする権限があります.ここで指定した権限は、1つのデータベース内のすべてのテーブルに適用されます.
hostテーブルhostテーブルはdbテーブルと組み合わせて、dbを単独で使用するよりも、特定のホストのデータベースへのアクセス権をより良い階層で制御するために使用されます.この表はGRANTとREVOKE文の影響を受けないので、あなたがそれを使っていないことに気づくかもしれません.
tables_privテーブルtables_privテーブルは、テーブルレベルの権限を指定します.ここで指定した権限は、テーブルのすべてのカラムに適用されます.
columns_privテーブルcolumns_privテーブルは、カラムレベルの権限を指定します.ここで指定した権限は、テーブルの特定のカラムに適用されます.