Jadual pengguna berada dalam pangkalan data bernama "mysql". MySQL secara automatik akan mencipta pangkalan data bernama "mysql" semasa pemasangan Pangkalan data mysql menyimpan jadual kebenaran pengguna adalah jadual kebenaran yang paling penting dalam pangkalan data mysql dan digunakan untuk merekodkan akaun yang dibenarkan untuk menyambung ke pelayan. Semua kebenaran yang didayakan dalam jadual pengguna adalah global dan digunakan untuk semua pangkalan data.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Jadual pengguna berada dalam pangkalan data bernama "mysql".
MySQL akan secara automatik mencipta pangkalan data bernama mysql semasa pemasangan. Pangkalan data mysql menyimpan jadual kebenaran pengguna. Selepas pengguna log masuk, MySQL akan memberikan kebenaran yang sepadan kepada setiap pengguna berdasarkan kandungan jadual kebenaran ini.
Jadual pengguna ialah jadual kebenaran paling penting 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
Medan dalam jadual pengguna boleh menjadi kira-kira terbahagi kepada Terdapat 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.
字段名 | 字段类型 | 是否为空 | 默认值 | 说明 |
---|---|---|---|---|
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 operasi yang dibenarkan pada data dan pangkalan data dalam skop global.
Kebenaran secara kasar dibahagikan kepada dua kategori, iaitu kebenaran pengurusan lanjutan dan kebenaran biasa:
Lajur kebenaran jadual pengguna termasuk Select_priv, Insert_ priv dan medan lain yang berakhir dengan priv Jenis data nilai medan ini ialah ENUM : Y bermakna pengguna mempunyai Keizinan yang sepadan, N bermakna pengguna tidak mempunyai kebenaran yang sepadan. Atas sebab keselamatan, nilai lalai untuk medan ini ialah N.
字段名 | 字段类型 | 是否为空 | 默认值 | 说明 |
---|---|---|---|---|
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 UPDATE.
Lajur keselamatan
Lajur keselamatan digunakan terutamanya untuk menentukan sama ada pengguna boleh log masuk dengan jayanya Lajur keselamatan dalam jadual pengguna ditunjukkan dalam Jadual 3:
字段名 | 字段类型 | 是否为空 | 默认值 | 说明 |
---|---|---|---|---|
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 lajur kawalan sumber digunakan untuk mengehadkan sumber yang digunakan oleh pengguna Lajur kawalan sumber dalam jadual pengguna ditunjukkan dalam Jadual 4.
字段名 | 字段类型 | 是否为空 | 默认值 | 说明 |
---|---|---|---|---|
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.
Cara mengakses jadual pengguna
1. Sambung ke pangkalan data mysql dan lihat semua maklumat pangkalan data lalai
2. Oleh kerana jadual pengguna wujud dalam pangkalan data mysql, anda boleh menukar pangkalan data melalui arahan penggunaan
Selepas menukar pangkalan data, anda boleh melihat pangkalan data melalui arahan tunjukkan Untuk semua jadual data dalam , anda boleh melihat jadual data pengguna di hujung
Anda boleh melihat maklumat struktur jadual pengguna melalui arahan desc, kerana Jadual Pengguna mengandungi banyak maklumat, jadi terdapat juga banyak maklumat struktur
Apabila tiada pengguna lain dibuat secara lalai, hanya terdapat maklumat pentadbir super
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Di manakah jadual pengguna mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!