1. 4つの起動方法:1.mysqld MySQL サーバーを起動します: ./mysqld --defaults-file=/etc/my.cnf --user=root クライアント接続: mysql --defaults-file=/etc/my.cnf または mysql -S /tmp/mysql.sock 2.mysqld_safe MySQLサーバーを起動します: ./mysqld_safe --defaults-file=/etc/my.cnf --user=root & クライアント接続: mysql --defaults-file=/etc/my.cnf または mysql -S /tm/mysql.sock 3.mysql.サーバー cp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/ chkconfig --add mysql.server mysql サーバーを起動します: service mysql.server {start|stop|restart|reload|force-reload|status} クライアント接続: 1および2と同じ 4.mysqld_マルチ mkdir $MYSQL_BASE/data2 cat <<-EOF>> /etc/my.cnf [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /user/local/mysql/bin/mysqladmin ユーザー = mysqladmin パスワード = mysqladmin [mysqld3306] ポート = 3306 ソケット = /tmp/mysql3306.sock pid ファイル = /tmp/mysql3306.pid 外部ロックをスキップ キーバッファサイズ = 16M 最大許容パケット = 1M テーブルオープンキャッシュ = 64 ソートバッファサイズ = 512K ネットバッファ長 = 8K 読み取りバッファサイズ = 256K 読み取りバッファサイズ = 512K myisam_sort_buffer_size = 8M ベースディレクトリ = /usr/local/mysql データディレクトリ = /usr/local/mysql/data [mysqld3307] ポート = 3307 ソケット = /tmp/mysql3307.sock pid ファイル = /tmp/mysql3307.pid 外部ロックをスキップ キーバッファサイズ = 16M 最大許容パケット = 1M テーブルオープンキャッシュ = 64 ソートバッファサイズ = 512K ネットバッファ長 = 8K 読み取りバッファサイズ = 256K 読み取りバッファサイズ = 512K myisam_sort_buffer_size = 8M ベースディレクトリ = /usr/local/mysql データディレクトリ = /usr/local/mysql/data2 終了 #mysql -S /tmp/mysql3306.sock mysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost' ('mysqladmin' によって識別、GRANT オプション付き)。 #mysql -S /tmp/mysql3307.sock mysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost' ('mysqladmin' によって識別、GRANT オプション付き)。 mysql サーバーを起動します: ./mysqld_multi --defaults-file=/etc/my.cnf start 3306-3307 MySQLサーバーをシャットダウンします: mysqladmin shut down 2. mysqlサービスを開始および停止する1. Windowsの場合: 開始: mysqld --console または net start mysql シャットダウン: mysqladmin -u root shutdown または net stop mysql Linuxの場合: 開始: service mysql start 停止: サービス mysql 停止 サービスを再起動します: service mysql restart 3. 権限を割り当てるユーザーを作成する1. 新しいユーザーを作成します。名前: buff、パスワード: buff のユーザーを作成します。 //rootユーザーがMySQLにログインする mysql -uroot -p パスワードを入力してください: //新しいユーザーを作成しますmysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff")); // システム権限テーブルを更新します。mysql>flush privileges; ログインテスト mysql>終了 // ユーザー buff が MySQL にログインします mysql -ubuff -p パスワードを入力してください: マイSQL> // 新しく作成されたユーザー バフが正常にログインしたことを示します ユーザー認証 //rootユーザーがMySQLにログインする mysql -uroot -p パスワードを入力してください: // ユーザー buff のデータベース bluebuff を作成する mysql>データベースbluebuffを作成します。 // ユーザー buff にデータベース bluebuff のすべての権限を許可する mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff'; mysql>権限をフラッシュします。 ログインテスト // ユーザー buff がデータベースにログインします mysql -ubuff -p 権限を入力してください: // データベースを表示しますmysql>show databases; 結果は下の図に示されており、ユーザーバフの認証が成功したことを示しています。 5. ユーザーbuffのパスワードを変更する //rootユーザーがMySQLにログインする mysql -uroot -p パスワードを入力してください: // ユーザー buff のパスワードを変更します。mysql>update table mysql.user set password=password('buffer') where User='buff' and Host='localhost'; mysql>権限をフラッシュします。 6. ユーザーの削除 //rootユーザーがMySQLにログインする mysql -uroot -p パスワードを入力してください: // ユーザーバフを削除する mysql>User = 'buff'、Host = 'localhost' の場合、mysql.user から削除します。 mysql>権限をフラッシュします。 7. データベースを削除する mysql>データベースbluebuffを削除します。 4. ユーザーに付与された権限を表示するMySQL では、ユーザーに付与される権限は、グローバル レベルの権限、データベース レベルの権限、テーブル レベルの権限、列レベルの権限、およびサブルーチン レベルの権限に分けられます。 1. グローバルレベル: グローバル権限は、特定のサーバー内のすべてのデータベースに適用されます。これらの権限は mysql.user テーブルに保存されます。 GRANT ALL ON *.* および REVOKE ALL ON *.* は、グローバル権限のみを付与および取り消します。 例: a. テスト アカウント test を作成し、グローバル権限を付与します。mysql> grant select,insert on *.* to test@'%' identified by 'test'; mysql> 権限をフラッシュします。 b. テストに付与された権限を照会します: show grants for test; mysql.user から * を選択して、user='test'\G を指定します。 2. データベースレベル: データベース権限は、特定のデータベース内のすべてのオブジェクトに適用されます。これらの権限は、mysql.db および mysql.host テーブルに保存されます。 GRANT ALL ON db_name.* および REVOKE ALL ON db_name.* は、データベース権限の付与と取り消しのみを行います。例: a. テスト アカウント test を作成し、データベース レベルの権限を付与します。drop user test; MyDB.* に対する select、insert、update、delete 権限を、'test' で識別される test@'%' に付与します。 b. テストに付与された権限を照会します。select * from mysql.user where user='test'\G; -- 権限がないことがわかります。select * from mysql.db where user='test'\G; テストの許可を表示します。 3. テーブルレベル: テーブル権限は、特定のテーブル内のすべての列に適用されます。これらの権限は、mysql.tables_priv テーブルに保存されます。 GRANT ALL ON db_name.tbl_name および REVOKE ALL ON db_name.tbl_name は、テーブル権限のみを付与および取り消します。 例: a. テスト アカウント test を作成し、テーブル レベルの権限を付与します。drop user test; 権限をフラッシュします。 MyDB.kkk のすべての権限を 'test' で識別される test@'%' に付与します。 b. テストに付与された権限を照会します: show grants for test; mysql.tables_priv\G から * を選択します。 4. 列レベル: 列の権限は、特定のテーブル内の単一の列に適用されます。これらの権限は、mysql.columns_priv テーブルに保存されます。 REVOKE を使用する場合は、付与される列と同じ列を指定する必要があります。 例: a. テスト アカウント test を作成し、列レベルの権限を付与します。drop user test; 権限をフラッシュします。 MyDB.TEST1 に対する select (id, col1) を、'test' で識別される test@'%' に許可します。 権限をフラッシュします。 b. テストに付与された権限を照会します。select * from mysql.columns_priv; テストの許可を表示します。 5. サブルーチンレベル: CREATE ROUTINE、ALTER ROUTINE、EXECUTE、および GRANT 権限は、ストアド ルーチンに適用されます。これらの権限は、グローバル レベルまたはデータベース レベルで付与できます。また、CREATE ROUTINE を除き、これらの権限はサブプログラム レベルで付与でき、mysql.procs_priv テーブルに格納されます。 例: a. テスト アカウント test を作成し、サブルーチン レベルの権限を付与します DROP PROCEDURE IF EXISTS PRC_TEST; 区切り文字 // プロシージャ PRC_TEST() を作成します。 -> 開始 -> kkk から * を選択; -> 終了 // 区切り文字 ; 'test' で識別される test@'%' に MyDB.PRC_TEST の実行を許可します。 権限をフラッシュします。 b. テストに付与された権限を照会します: show grants for test; User='test' の場合、mysql.procs_priv から * を選択します。 要約: 1. ユーザーに付与された権限を表示する必要がある場合は、これらの 5 つのレベルから付与された権限を表示する必要があります。上から下へ、または小さいレベルから大きいレベルへ、各レベルに付与されている権限を 1 つずつ確認します。 2. ルーチンの作成、ルーチンの変更、選択、作成、挿入、更新、削除、実行などの権限を付与します。 3. クライアントがサーバーに接続できない場合は、ユーザー テーブル内のホスト項目が '%' であり、承認されているかどうかを確認します。 以下もご興味があるかもしれません:
|
<<: LinuxシステムのAnsible自動運用保守導入方法
このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...
MySQL 8.0をインストールする docker run -p 63306:3306 -e MYS...
ビジネスを想定: 2位の従業員の給与情報を見るデータベースを作成する emps が存在する場合はデー...
序文スロークエリとは何か、またスロークエリを最適化するにはどうすればよいか。以下では、これら 2 つ...
序文要件を満たす特定のデータをデータベースから取得する必要があります。Select ABC FROM...
目次1. 条件付きアクセス属性2. アロー関数の紹介1. 条件付きアクセス属性?. は ES2020...
目次Dockerとは展開する1. イメージをプルする2. 画像を表示する3. コンテナを実行する4....
MySQLソフトウェアのインストールとデータベースの基礎は参考用です。具体的な内容は次のとおりです。...
実際の業務や面接では、「配列の重複排除」の問題によく遭遇します。以下は、js を使用して実装された配...
序文最近、MySQL に関するメモをいくつか尋ねる人がいたので、ブログ記事を書かなければなりません。...
react.js フレームワーク Redux https://github.com/reactjs/...
目次序文Vue 更新ビューパッチ同じVノードパッチVノード更新子供序文Vue は仮想 DOM を使用...
通常のプログラムと比較すると、ダイナミック リンク ライブラリにはメイン関数がなく、一連の関数の実装...
この記事では、MySQL のマルチテーブル共同クエリ操作について説明します。ご参考までに、詳細は以下...
ウェブサイトの構築では、HTML と CSS に関するさまざまな問題に常に遭遇します。ウェブサイト ...