ユーザー管理




Password

-- ユーザー xxx が DB ( db_name ) へ接続する際にパスワード認証を必要にする mysql -u xxx -p db_name



パスワードの初期設定

DESC インストール初期状態では、管理者用のユーザとして root が用意されている。 パスワードはないため、適切に設定する必要がある。 次のどれかで設定をする
-- PASSWORD() 関数を使用してパスワードを指定 shell> mysql -u root mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD('xxx');
mysqladmin.exe を使う
// mysqladmin コマンドを使用しても、パスワードを設定 shell> mysqladmin -u root password xxx
パスワードテーブル( mysql DB の user テーブル )を直接編集する
-- Password も Table にある shell> mysql -u root -pOldPassword -- "root" user の password を "xxx" にする mysql> UPDATE mysql.user SET Password=PASSWORD('xxx') WHERE user='root'; -- 反映するには FLUSH PRIVILEGES でサーバに権限テーブルを再読み込みさせる mysql> FLUSH PRIVILEGES;



ユーザー 追加

-- 権限テーブルを直接変更する
INSERT INTO user (Host,User,Password) VALUES('localhost','xxx',PASSWORD('yyy') ); FLUSH PRIVILEGES;
-- すべての DB の操作権限をもつ ユーザ (xxx) を パスワード ( yyy ) で追加 GRANT ALL PRIVILEGES ON *.* TO xxx@'%' IDENTIFIED BY 'yyy' WITH GRANT OPTION; -- user( xxx ) を作成する。 CREATE USER xxx; -- パスワード( yyy )を指定 CREATE USER xxx IDENTIFIED BY "yyy"; -- user( xxx ) を削除する。 DROP USER xxx; -- 名前を変更する RENAME USER xxx TO yyy; -- パスワードを変更する SET PASSWORD FOR yyy = PASSWORD( "zzz" ); POINT 操作権限を与えるには GRANT 命令を使うこと。



grant

SYNTAX GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...] ON {tbl_name | * | *.* | db_name.*} TO user_name [IDENTIFIED BY [PASSWORD] 'password'] [, user_name [IDENTIFIED BY [PASSWORD] 'password'] ...] [REQUIRE NONE | [{SSL| X509}] [CIPHER cipher [AND]] [ISSUER issuer [AND]] [SUBJECT subject]] [WITH [GRANT OPTION | MAX_QUERIES_PER_HOUR # | MAX_UPDATES_PER_HOUR # | MAX_CONNECTIONS_PER_HOUR #]] DESC ユーザを作成したり、ユーザーに操作権限の追加、削除をする。 MySQL ユーザ名には最大 16 文字 Unix ユーザ名は通常 8 文字まで MySQL で認証目的に使用するパスワードは Unix ユーザ名(ログイン名)や Windows ユーザ名とは関係ない MySQL クライアントはデフォルトで 現在の Unix ユーザ名を MySQL ユーザ名としてログインしようとするが これは利便性のためだけのこと MySQL で認証目的に使用するパスワードは Unix ユーザ名(ログイン名)や Windows ユーザ名とは関係なく自由に設定できる。 クライアントプログラムで -u || --user により別の名前を指定できる これは すべての MySQL ユーザ名にパスワードを設定しないと データベースを安全に保てないことを意味する WARNING パスワードを設定しないと だれでも任意の名前でサーバへの接続を試みることができ パスワードのない名前を指定すれば接続できてしまう
-- ユーザー権限をみる show grants show grants for root@localhost -- ユーザー xxx へ全権限を与える GRANT ALL ON *.* TO xxx -- SELECT のみを許可する。 GRANT ALL select *.* TO xxx -- すべての権限をなくす revoke ALL select *.* FROM xxx



改行コード

改行コード [\r\n] かも String sTmp = rs[i][j]; // NOTE // 改行コード == [\r\n] らしい String sMerge = sTmp.replaceAll( "\r\n", "___" ); // String []aTmp = sTmp.split("\r\n"); // String sMerge = ""; // for( int kk=0; kk<aTmp.length; kk++ ){ // sMerge += aTmp[kk]; // if ( kk < (aTmp.length - 1) ) { // sMerge += "___"; // } // }