Rumah  >  Artikel  >  pangkalan data  >  Adakah mysql mempunyai jadual pengguna?

Adakah mysql mempunyai jadual pengguna?

青灯夜游
青灯夜游asal
2022-02-24 18:43:572924semak imbas

mysql mempunyai jadual pengguna. Jadual pengguna ialah jadual kebenaran dalam MySQL, digunakan untuk merekod maklumat akaun yang dibenarkan untuk menyambung ke pelayan medan dalam jadual pengguna boleh dibahagikan secara kasar kepada empat kategori, iaitu lajur pengguna, lajur kebenaran, lajur keselamatan dan kawalan sumber; lajur.

Adakah mysql mempunyai jadual pengguna?

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql5.7, komputer Dell G3.

mysql mempunyai jadual pengguna.

Jadual pengguna ialah jadual kebenaran terpenting dalam MySQL, digunakan untuk merekod maklumat akaun yang dibenarkan untuk menyambung ke pelayan. Perlu diingatkan bahawa semua kebenaran yang didayakan dalam jadual pengguna adalah global dan digunakan untuk semua pangkalan data.

Medan dalam jadual pengguna boleh dibahagikan secara kasar kepada 4 kategori, iaitu lajur pengguna, lajur kebenaran, lajur keselamatan dan lajur kawalan sumber Perkara berikut terutamanya memperkenalkan maksud medan ini.

Lajur pengguna

Lajur pengguna menyimpan maklumat yang pengguna perlu masukkan semasa menyambung ke pangkalan data MySQL. Perlu diingat bahawa versi MySQL 5.7 tidak lagi menggunakan Kata Laluan sebagai medan kata laluan, tetapi menukarnya kepada authentication_string.

Senarai pengguna untuk MySQL versi 5.7 ditunjukkan dalam Jadual 1.

表 1:user 表的用户列
字段名 字段类型 是否为空 默认值 说明
Host char(60) NO 主机名
User char(32) NO 用户名
authentication_string text YES 密码

Apabila pengguna log masuk, sistem pangkalan data MySQL hanya akan membenarkan dia log masuk jika ketiga-tiga medan ini sepadan pada masa yang sama. Apabila mencipta pengguna baharu, nilai bagi ketiga-tiga medan ini juga ditetapkan. Apabila anda mengubah suai kata laluan pengguna, anda sebenarnya mengubah suai nilai medan authentication_string pada jadual pengguna. Oleh itu, 3 medan ini menentukan sama ada pengguna boleh log masuk.

Lajur kebenaran

Medan dalam lajur kebenaran menentukan kebenaran pengguna dan digunakan untuk menerangkan kebenaran pada data dan pangkalan data yang dibenarkan beroperasi secara global.

Kebenaran secara kasar dibahagikan kepada dua kategori, iaitu kebenaran pengurusan lanjutan dan kebenaran biasa:

  • Kebenaran pengurusan lanjutan terutamanya mengurus pangkalan data, seperti kebenaran untuk menutup perkhidmatan, Keizinan super dan memuatkan pengguna, dsb.;

  • Kebenaran biasa mengendalikan pangkalan data, seperti kebenaran pertanyaan, kebenaran pengubahsuaian, dsb.

Lajur kebenaran jadual pengguna termasuk Select_priv, Insert_ priv dan medan lain yang berakhir dengan priv Jenis data nilai medan ini ialah ENUM Y dan N: Y mewakili pengguna Terdapat kebenaran yang sepadan, N bermakna pengguna tidak mempunyai kebenaran yang sepadan. Atas sebab keselamatan, nilai lalai untuk medan ini ialah N.

表 2:user表的权限列
字段名 字段类型 是否为空 默认值 说明
Select_priv enum('N','Y') NO N 是否可以通过SELECT 命令查询数据
Insert_priv enum('N','Y') NO N 是否可以通过 INSERT 命令插入数据
Update_priv enum('N','Y') NO N 是否可以通过UPDATE 命令修改现有数据
Delete_priv enum('N','Y') NO N 是否可以通过DELETE 命令删除现有数据
Create_priv enum('N','Y') NO N 是否可以创建新的数据库和表
Drop_priv enum('N','Y') NO N 是否可以删除现有数据库和表
Reload_priv enum('N','Y') NO N 是否可以执行刷新和重新加载MySQL所用的各种内部缓存的特定命令,包括日志、权限、主机、查询和表
Shutdown_priv enum('N','Y') NO N 是否可以关闭MySQL服务器。将此权限提供给root账户之外的任何用户时,都应当非常谨慎
Process_priv enum('N','Y') NO N 是否可以通过SHOW PROCESSLIST命令查看其他用户的进程
File_priv enum('N','Y') NO N 是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令
Grant_priv enum('N','Y') NO N 是否可以将自己的权限再授予其他用户
References_priv enum('N','Y') NO N 是否可以创建外键约束
Index_priv enum('N','Y') NO N 是否可以对索引进行增删查
Alter_priv enum('N','Y') NO N 是否可以重命名和修改表结构
Show_db_priv enum('N','Y') NO N 是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库
Super_priv enum('N','Y') NO N 是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程;使用SET GLOBAL命令修改全局MySQL变量,执行关于复制和日志的各种命令。(超级权限)
Create_tmp_table_priv enum('N','Y') NO N 是否可以创建临时表
Lock_tables_priv enum('N','Y') NO N 是否可以使用LOCK TABLES命令阻止对表的访问/修改
Execute_priv enum('N','Y') NO N 是否可以执行存储过程
Repl_slave_priv enum('N','Y') NO N 是否可以读取用于维护复制数据库环境的二进制日志文件
Repl_client_priv enum('N','Y') NO N 是否可以确定复制从服务器和主服务器的位置
Create_view_priv enum('N','Y') NO N 是否可以创建视图
Show_view_priv enum('N','Y') NO N 是否可以查看视图
Create_routine_priv enum('N','Y') NO N 是否可以更改或放弃存储过程和函数
Alter_routine_priv enum('N','Y') NO N 是否可以修改或删除存储函数及函数
Create_user_priv enum('N','Y') NO N 是否可以执行CREATE USER命令,这个命令用于创建新的MySQL账户
Event_priv enum('N','Y') NO N 是否可以创建、修改和删除事件
Trigger_priv enum('N','Y') NO N 是否可以创建和删除触发器
Create_tablespace_priv enum('N','Y') NO N 是否可以创建表空间

Jika anda ingin mengubah suai kebenaran, anda boleh menggunakan pernyataan GRANT untuk memberikan beberapa kebenaran kepada pengguna, atau anda boleh menetapkan kebenaran dengan mengemas kini jadual pengguna dengan pernyataan KEMASKINI.

Lajur keselamatan

Lajur keselamatan digunakan terutamanya untuk menentukan sama ada pengguna boleh log masuk dengan jayanya Lajur keselamatan dalam jadual pengguna adalah ditunjukkan dalam Jadual 3:

表 3:user 表的安全列
字段名 字段类型 是否为空 默认值 说明
ssl_type enum('','ANY','X509','SPECIFIED') NO   支持ssl标准加密安全字段
ssl_cipher blob NO   支持ssl标准加密安全字段
x509_issuer blob NO   支持x509标准字段
x509_subject blob NO   支持x509标准字段
plugin char(64) NO mysql_native_password 引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户
password_expired enum('N','Y') NO N 密码是否过期 (N 未过期,y 已过期)
password_last_changed timestamp YES   记录密码最近修改的时间
password_lifetime smallint(5) unsigned YES   设置密码的有效时间,单位为天数
account_locked enum('N','Y') NO N 用户是否被锁定(Y 锁定,N 未锁定)

Nota: Walaupun kata laluan_luput ialah "Y", pengguna masih boleh menggunakan kata laluan untuk log masuk ke MySQL, tetapi tiada operasi dibenarkan.

Biasanya pengedaran standard tidak menyokong ssl. Pembaca boleh menggunakan SHOW VARIABLE LIKE "have_openssl" untuk menyemak sama ada ia mempunyai fungsi ssl. Jika nilai have_openssl DISABLED, ciri penyulitan ssl tidak disokong.

Lajur kawalan sumber

Medan dalam lajur kawalan sumber digunakan untuk mengehadkan sumber yang digunakan oleh pengguna Lajur kawalan sumber dalam jadual pengguna adalah seperti yang ditunjukkan dalam Jadual 4 yang ditunjukkan.

表 4:user 表的资源控制列
字段名 字段类型 是否为空 默认值 说明
max_questions int(11) unsigned NO 0 规定每小时允许执行查询的操作次数
max_updates int(11) unsigned NO 0 规定每小时允许执行更新的操作次数
max_connections int(11) unsigned NO 0 规定每小时允许执行的连接操作次数
max_user_connections int(11) unsigned NO 0 规定允许同时建立的连接次数

Nilai lalai medan di atas ialah 0, yang bermaksud tiada had. Jika bilangan pertanyaan atau sambungan pengguna melebihi had kawalan sumber dalam masa sejam, pengguna akan dikunci dan tidak boleh melakukan operasi yang sepadan di sini sehingga satu jam berikutnya. Anda boleh menggunakan pernyataan GRANT untuk mengemas kini nilai medan ini.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Adakah mysql mempunyai jadual pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn