Rumah  >  Artikel  >  pangkalan data  >  Ringkasan dan perkongsian penciptaan pengguna dan pengurusan kebenaran dalam MySQL

Ringkasan dan perkongsian penciptaan pengguna dan pengurusan kebenaran dalam MySQL

WBOY
WBOYke hadapan
2022-09-02 16:59:462066semak imbas

Pembelajaran yang disyorkan: tutorial video mysql

1 Pengurusan pengguna

tersedia dalam mysql perpustakaan user表Anda boleh melihat pengguna yang dibuat

1 Cipta pengguna MySQL

Nota: Anda tidak boleh menentukan pengguna hanya dengan nama pengguna dalam MySQL. . Anda mesti Untuk menambah hos. Seperti hhy@10.1.1.1

Sintaks asas:

mysql> create user '用户名'@'被允许连接的主机名称或主机的IP地址' identified by '用户密码';
mysql> select user,host from mysql.user;

Kes: Buat a Akaun MySQL, nama pengguna: hhy, kata laluan pengguna: 123

mysql> create user 'hhy'@'localhost' identified by '123';
/*或*/
mysql> create user 'hhy'@'127.0.0.1' identified by '123';

Kes: Buat akaun MySQL (memerlukan membuka sambungan jauh), alamat IP hos: 192.1668.44.110, nama pengguna: ujian, kata laluan pengguna: 123

mysql> create user 'test'@'192.1668.44.110' identified by '123';

Ujian: Pada hos dengan alamat IP 192.168.44.110

# yum install mysql -y
# mysql -h 192.168.44.110 -P 3306 -uharry -p
Enter password:123

Penerangan pilihan: 192.168.44.110: Alamat IP pelayan MySQL

yum installation mysql: bermaksud klien MySQL telah dipasang
yum installation mysql-server: Menunjukkan bahawa pelayan MySQL telah dipasang

Kes: Buat akaun MySQL (memerlukan membuka sambungan jauh), segmen rangkaian IP hos: 10.1.1.0, nama pengguna :jack , kata laluan pengguna: 123

create user 'jack'@'192.168.44.%' identified by '123'

Kes: Buat akaun MySQL (memerlukan membuka sambungan jauh), yang diperlukan untuk dibuka kepada semua hos, nama pengguna: root, pengguna kata laluan: 123

create user 'root'@'%' identified by '123';

2. Padam pengguna MySQL

Pengguna asas:

mysql> nama hos alamat IP';

Nota khas:

Jika anda tidak menyatakan nama hos atau alamat IP hos semasa memadam pengguna, semua maklumat tentang akaun ini akan dipadamkan secara lalai.

Kes: Padam akaun hhy

drop user 'hhy'@'localhost';

Kes: Padam akaun bicu

drop user 'jack'@'192.168.44.%';

Kes : Buat dua akaun harry (localhost/10.1.1.23), dan kemudian padamkan salah satu daripadanya

mysql> create user 'harry'@'localhost' identified by '123';
mysql> create user 'harry'@'192.168.44.110' identified 

mysql> drop user 'harry'@'192.168.44.110';

Cara lain untuk memadam akaun MySQL

mysql> delete from mysql.user where user='root' and host='%';
mysql> flush privileges;

3 Pengguna MySQL

Nota khas: Menamakan semula pengguna MySQL biasanya boleh menukar dua bahagian, satu ialah nama pengguna, dan satu lagi ialah nama hos atau alamat IP hos yang dibenarkan untuk mengakses .

Sintaks asas:

mysql> rename user 旧用户信息 to 新用户信息;

Kes: Tukar 'root'@'%' kepada 'root'@'10.1 .%'

mysql> rename user 'root'@'%' to 'root'@'10.1.1.%';

Kes: Namakan semula 'harry'@'localhost' kepada 'hhy'@'localhost'

mysql> create user 'tom'@'localhost' identified by '123';
mysql> rename user 'tom'@'localhost' to 'hhy'@'localhost';

Gunakan kenyataan kemas kini Kemas kini pengguna maklumat

mysql> update mysql.user set user='hhy',host='localhost' where user='tom' and host='localhost';

mysql> flush privileges;

2. Pengurusan kebenaran

1 Perihalan kebenaran

Semua perihalan kebenaran

USAGE	无权限,只有登录数据库,只可以使用test或test_*数据库
ALL		所有权限
以下权限为指定权限
select/update/delete/super/replication slave/reload...
with grant option 选项表示允许把自己的权限授予其它用户或者从其他用户收回自己的权限

Secara lalai , jika dengan pilihan pemberian tidak dinyatakan semasa memberikan kebenaran, ini bermakna pengguna ini tidak boleh memberikan kebenaran kepada pengguna lain, tetapi peruntukan kebenaran ini tidak boleh melebihi kebenarannya sendiri.

2. Lokasi storan kebenaran (faham)

  • mysql.user:Akaun dan kata laluan semua pengguna mysql, serta akses pengguna ke seluruh pangkalan data kebenaran Jadual (*.*)
  • mysql.db:Kebenaran untuk perpustakaan bukan mysql disimpan di sini (db.*)
  • mysql.table_priv: Kebenaran jadual tertentu dalam pangkalan data tertentu (db.table)
  • mysql.columns_priv :Kebenaran lajur tertentu dalam jadual tertentu dalam pangkalan data tertentu (db.table.col1)
  • mysql.procs_priv:Kebenaran prosedur tersimpan dalam perpustakaan tertentu

3 >

Buat jadual pangkalan data:

create database java;
use java;
create table tb_student(
	id mediumint not null auto_increment,
	name varchar(20),
	age tinyint unsigned default 0,
	gender enum('男','女'),
	address varchar(255),
	primary key(id)
) engine=innodb default charset=utf8;

insert into tb_student values (null,'刘备',33,'男','湖北省武汉市');
insert into tb_student values (null,'貂蝉',18,'女','湖南省长沙市');
insert into tb_student values (null,'关羽',32,'男','湖北省荆州市');
insert into tb_student values (null,'大乔',20,'女','河南省漯河市');
insert into tb_student values (null,'赵云',25,'男','河北省石家庄市');
insert into tb_student values (null,'小乔',18,'女','湖北省荆州市');
Sintaks asas:

mysql> grant 权限1,权限2 on 库.表 to 用户@主机
mysql> grant 权限(列1,列2,...) on 库.表 to 用户@主机
Kaedah perwakilan Jadual: *.* mewakili semua jadual data semua pangkalan data, db_itheima.* mewakili pangkalan data db_itheima Semua jadual data dalam db_itheima.tb_admin mewakili jadual tb_admin dalam pangkalan data db_itheima

Kes:

Kebenaran untuk pertanyaan pangkalan data java ke akaun anda

mysql> grant select on java.* to 'hehanyu'@'192.168.44.%';

mysql> flush privileges;
Kes:

Berikan kebenaran kepada jadual data pelajar java.tb_student ke akaun hehanyu (menghendaki bahawa hanya medan umur boleh ditukar)

mysql> grant update(age) on java.tb_student to 'hehanyu'@'192.168.44.%';

mysql> flush privileges;
Kes:

Tambahkan root@ % akaun, dan kemudian tetapkan semua kebenaran

4 Pertanyaan kebenaran pengguna
create user 'root'@'%' identified by '123';
grant all on *.* to 'root'@'%';
flush privileges;

Tanya kebenaran pengguna semasa:

mysql> show grants;
Tanya kebenaran pengguna lain:

5 dengan pilihan pilihan geran
mysql> show grants for '用户名称'@'授权的主机名称或IP地址';

mysql> grant all on *.* to 'amy'@'10.1.1.%' identified by '123' with grant option;
mysql> grant all on *.* to 'harry'@'10.1.1.%' identified by '123';
Seperti yang ditunjukkan dalam arahan di atas:

amy mempunyai fungsi pemberian kebenaran, dan harry tidak mempunyai fungsi untuk mengeluarkan kebenaran.

Jika kebenaran pemberian tidak mempunyai pilihan dengan pilihan geran, ia tidak boleh membenarkan pengguna lain.

6.batalkan untuk mendapatkan semula kebenaran

Sintaks asas:

revoke 权限 on 库.表 from 用户;
查看hehanyu用户权限
mysql> show grants for 'hehanyu'@'192.168.44.%';
撤消指定的权限
mysql> revoke update on java.tb_student from 'tom'@'192.168.44.%';
撤消所有的权限
mysql> revoke select on java.* from 'tom'@'192.168.44.%';

推荐学习:mysql视频教程

Atas ialah kandungan terperinci Ringkasan dan perkongsian penciptaan pengguna dan pengurusan kebenaran dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam