ゼロからMySQL-データベース管理を学ぶ--003
15664 ワード
MySQLアクセス制御システム入門
MySQLアクセス制御は2つの部分で構成されています接続時検証:有効なユーザー名とパスワードを使用してログイン操作 を行う.実行時検証:実行する必要があるSQL文ごとに、MySQLはログインしたユーザーが文 を実行するのに十分な権限を持っているかどうかを確認します.
権限の場所
mysqlデータベースには、5つの主要なライセンステーブルが含まれています. userテーブル:ユーザーアカウントとグローバル権限列が含まれます.私たちがログインしたユーザー情報はすべてここに保存されています. dbテーブル:データベース・レベルの権限が含まれます. table_privとcolumns_privテーブル:テーブルレベルとカラムレベルの権限が含まれます. procs_privテーブル:ストレージ関数とストレージ・プロシージャの権限が含まれます.
ユーザーアカウントの作成
権限の付与
権限の取り消し
1つ以上のユーザーアカウントを削除
データベースのバックアップ
データベースのリカバリ
データベースのリストアには、sourceコマンド、mysqlコマンド、gunzipコマンドの3つの方法があります.
ソースコマンド
mysql
gunzipコマンド
その他の表示コマンド
MySQLアクセス制御は2つの部分で構成されています
権限の場所
mysqlデータベースには、5つの主要なライセンステーブルが含まれています.
ユーザーアカウントの作成
create user yourName identified by 'password';
create user yl@localhost identified by 'yl';--
create user yl@% identified by 'yl';--
create user yl@192.168.0.110 identified by 'yl';-- ip
--
show grants for yl@localhost;
---GRANT USAGE ON *.* TO 'yl'@'localhost' IDENTIFIED BY PASSWORD '* '
--*.* yl ,
-- : ,
-- 、 ,
flush privileges;
権限の付与
GRANT privilege,[privilege],.. ON privilege_level
TO user [IDENTIFIED BY password]
[REQUIRE tsl_option]
[WITH [GRANT_OPTION | resource_option]];
--
grant all on *.* to 'yl'@'localhost' with grant option;
show grants for yl@localhost;
--GRANT ALL PRIVILEGES ON *.* TO 'yl'@'localhost' IDENTIFIED BY PASSWORD '* ' WITH GRANT OPTION
flush privileges;
権限の取り消し
REVOKE privilege_type [(column_list)]
[, priv_type [(column_list)]]...
ON [object_type] privilege_level
FROM user [, user]...
revoke all privileges, grant option from yl;
1つ以上のユーザーアカウントを削除
use mysql;
select user, host from mysql.user;
-- , (,)
drop user 'yl@localhost';
-- : , ,
show processlist;
kill id;-- id
drop user yl@localhost;
データベースのバックアップ
mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]
[username] : MySQL 。
[password] : 。 , -p 。
[database_name] :
[dump_file.sql] :
--Mysql :
mysqldump -h -P -u -p (–database) > .sql
--1、 MySQL
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
--2、 MySQL , 。
mysqldump -–add-drop-table -uusername -ppassword databasename > d:\111.sql
--3、 MySQL
mysqldump -hhostname -uusername -ppassword databasename | gzip > d:\111.sql.gz
--4、 MySQL ( )
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > d:\111.sql
--5、 MySQL
mysqldump -hhostname -uusername -ppassword –-databases databasename1 databasename2 databasename3 > d:\111.sql
--6、
mysqldump -uroot -proot –-no-data –-databases project3 project3 project4 > d:\111.sql
--7、
mysqldump -uroot -proot –-all-databases > d:\111.sql
データベースのリカバリ
データベースのリストアには、sourceコマンド、mysqlコマンド、gunzipコマンドの3つの方法があります.
ソースコマンド
mysql ,
mysql -u root -p
mysql>use
source , ( .sql)
mysql>source d:\test.sql
mysql
mysql -hhostname -uusername -ppassword test < d:\test.sql
gunzipコマンド
gunzip < d:\test.sql.gz | mysql -uusername -ppassword test
その他の表示コマンド
--
show databases;
-- (pro%: pro ;%pro: pro ;%pro%: pro)
show databases like '%pro%';
--
show tables;
--
show full tables;
create view selectAll as select * from employee;
-- ,
--
describe employee;
desc employee;
show columns from employee;
show full columns from employee;
--
show full columns from employee like '%pro%'
--
select user from mysql.user;
--
select user();