ホームページ  >  記事  >  データベース  >  MySQLアカウント関連

MySQLアカウント関連

黄舟
黄舟オリジナル
2016-12-16 11:27:121099ブラウズ

L1.Mysql ユーザーの作成:

MySQL -User = Root mysql

Mysql & GT; * にすべての権限を付与します。 * 'SometHing' H 付与オプション; GRANT OPTION 付きで 'something' によって識別された *.* にすべての権限を付与します

mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;

これらの GRANT ステートメントは 3 人の新しいユーザーをインストールします:

monty

どこからでもサーバーに接続できる完全なスーパーユーザーですが、これを行うにはパスワード「何か」を使用する必要があります。 monty@localhost と monty@"%" に対して GRANT ステートメントを発行する必要があることに注意してください。 localhost エントリを追加すると、localhost の匿名ユーザー エントリは、localhost から接続するときに mysql_install_db によって作成されたエントリよりも優先されます。これは、より具体的な Host フィールド値があり、ユーザー テーブルのソート順で前に表示されるためです。

admin

パスワードなしでローカルホストから接続でき、リロードおよびプロセスの管理者権限が付与されているユーザー。これにより、ユーザーは mysqladmin reload、mysqladmin reload、mysqladmin flash-* コマンドに加えて、mysqladmin processlist を実行できるようになります。データベース関連の権限は付与されていません。これらは、後で別の GRANT ステートメントを発行することで付与できます。

ダミー

ユーザーはパスワードなしで接続できますが、ローカルホストからのみ接続できます。グローバル権限は「N」に設定されています。USAGE 権限タイプでは、権限なしでユーザーを設定できます。後でデータベース関連のアクセス許可を付与することを前提としています。


2. 認可テーブルを直接変更してユーザー権限を設定し、次のコマンドを実行します (最後に FLUSH PRIVILEGES があることに注意してください)。 INSERT INTO user (Host,User,PassWord) VALUES('localhost','custom',PASSWORD('stupid'));

mysql> INSERT INTO user (Host,User,Password) VALUES('server.domain' 、'custom',PASSWORD('stupid'));

mysql> INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid'));

mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)


VALUES ('localhost','bankaccount','custom','Y','Y',' Y ','Y','Y','Y');

mysql> INSERT INTO db


(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

VALUES ( 'whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');


mysql> データベースに挿入( Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)

VALUES('%','customer','custom','Y','Y','Y','Y' , 'Y','Y');


mysql>


3. パスワードを変更する場合、以前のパスワードを忘れることがあります。次の方法:

my.ini 設定ファイルを変更します。


[mysqld] セクションのどこかに次の行を追加します。

skip-grant-tables

それから、任意のユーザー名を使用できるように、それを保存して mysqld サービスを再起動します。 as super 管理者本体は MySQL サービスにログインします。

次に、mysql データベースに移動し、ユーザー テーブルを変更します:

update user set password=PASSword('1234') where user='root';

必ずパスワード関数を使用することを忘れないでください。それ以外の場合は、パスワードを使用してください。今後入力されるのは「1234」暗号文です。

最後に、上記で追加したコンテンツを削除し、サービスを再起動します。


さらに、このマシンまたは他のマシンから正常に使用できる MySql データベースが見つかった場合は、その mysql ライブラリ内の user という名前の関連ファイルをコピーして、データベース内の同じ名前のファイルを上書きすることもできますパスワードを忘れた場合は、コピーされる人のアカウントとパスワードを使用してログインすることもできます。

4. サーバーにリモートでアクセスできるように MySql アカウントを設定する方法

バージョン 5.0 では、実際には、root アカウントのパスワードを設定するときに、グラフィカル インターフェイス構成ウィザード ツールを選択できます。リモートアクセスからサーバーへのアクセスを許可するかどうか。デフォルトでは許可されていません。

コマンドラインでは、この設定を行うための 2 つの同様の方法があります:

(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql> root@"%" への *.* に対する特権が許可オプション付きの 'something' によって識別されました;

最初の文は、root ユーザーを追加して、パスワード「something」を使用してローカル マシン (localhost) を介してアクセスを許可します。

2 番目の文では、ワイルドカードを使用して、root ユーザーが他のホストから開始したアクセスを許可します。

(2) update ステートメントを直接使用してユーザー テーブルを変更することもできます。root ユーザーまたは他のユーザーを使用して mysql にログインし、mysql データベースに移動します。

update user set host='localhost' ここで、 user='root';

flush権限;//rootのみにこのマシンへのログインを許可します

update user set host='%' where user='root';

flush権限;//rootを許可しますリモート アクセス

上記は Add flash ステートメントである必要があることに注意してください。

さらに、新しいユーザーを作成する場合は、grant ステートメントを使用すると常に新しいユーザーが作成されることに注意してください。


5. MySql の 3306 ポートについて

サーバーに 5.0.18 を新規インストールしたときに、このポートを強制的に使用すると、3306 ポートが占有されていることがわかりました。接続されているデータベースのバージョンが 4.1.8 だったので、新しく作成されたサーバーにアクセスできません。その後、マシンに mysql サーバーのバージョン 4.1.8 がインストールされていることが判明しました。

この時点で、新しいバージョンのデータベースを再構成し、ポートを 3307 などの別のポートに設定する必要があります。その後、アクセスするときに、オプション --port=3307 を追加することでアクセスできます。 .net プログラムでは、接続文字列に port=3307 を追加する必要があります。

上記は MySQL アカウントに関連する内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。