Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menambah pengguna ke pangkalan data mysql
Dua kaedah untuk menambah pengguna: 1. Gunakan pernyataan CREATE USER untuk mencipta pengguna baharu dan tetapkan kata laluan yang sepadan, dengan sintaks "CREATE USER user IDENTIFIED BY [ PASSWORD ] 'password']". 2. Gunakan penyataan GRANT untuk mencipta pengguna baharu, dengan sintaks "BERI kuasa pengguna PADA pangkalan data.jadual KEPADA pengguna [DIENTIFIED OLEH [KATAlaluan] 'kata laluan']".
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Apabila MySQL dipasang, pengguna bernama root akan dibuat secara lalai Pengguna ini mempunyai keistimewaan super dan boleh mengawal keseluruhan pelayan MySQL.
Dalam pengurusan dan pengendalian harian MySQL, untuk mengelakkan seseorang daripada menggunakan pengguna root secara berniat jahat untuk mengawal pangkalan data, kami biasanya mencipta beberapa pengguna dengan kebenaran yang sesuai dan menggunakan pengguna root sedikit atau sedikit mungkin untuk log masuk ke sistem untuk memastikan akses selamat kepada data.
Dua cara untuk menambah (membuat) pengguna ke pangkalan data mysql
Gunakan pernyataan CREATE USER untuk mencipta pengguna
Gunakan pernyataan GRANT untuk mencipta pengguna
Anda boleh menggunakan CREATE. Kenyataan USER untuk mencipta pengguna MySQL dan menetapkan kata laluan yang sepadan. Format sintaks asas adalah seperti berikut:
CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];
1) Pengguna
menentukan untuk mencipta akaun pengguna, formatnya ialah nama pengguna'@'nama hos. Di sini nama_pengguna ialah nama pengguna, dan nama_hos ialah nama hos, iaitu nama hos yang digunakan oleh pengguna untuk menyambung ke MySQL. Jika hanya nama pengguna diberikan tanpa menyatakan nama hos semasa proses penciptaan, nama hos menjadi lalai kepada "%", yang mewakili sekumpulan hos, iaitu kebenaran terbuka kepada semua hos.
3) DIKENALPASTI OLEH klausa
digunakan untuk menentukan kata laluan pengguna. Pengguna baharu tidak perlu mempunyai kata laluan awal Jika pengguna tidak mempunyai kata laluan, klausa ini boleh ditinggalkan.
2) KATA LALUAN 'kata laluan'
KATA LALUAN bermaksud menggunakan nilai cincang untuk menetapkan kata laluan Parameter ini adalah pilihan. Jika kata laluan adalah rentetan biasa, tidak perlu menggunakan kata kunci KATA LALUAN. 'kata laluan' mewakili kata laluan yang digunakan oleh pengguna untuk log masuk dan perlu disertakan dalam petikan tunggal.
Nota: Kata laluan mestilah dalam teks yang jelas. MySQL akan menyulitkan kata laluan sebelum menyimpan akaun pengguna ke dalam jadual user
.
Sebagai contoh, untuk mencipta pengguna baharu untuk menyambung ke pelayan pangkalan data MySQL dengan kata laluan dbadmin
, gunakan pernyataan berikut: localhost
secret
CREATE USER
CREATE USER dbadmin@localhost IDENTIFIED BY 'secret';
Untuk melihat kebenaran akaun pengguna, gunakan penyataan SHOW GRANTS
berikut:
SHOW GRANTS FOR dbadmin@localhost;
*.*
dalam hasilnya bermakna akaun pengguna dbadmin
hanya boleh log masuk ke Pelayan pangkalan data, tiada kebenaran lain. Untuk memberikan kebenaran kepada pengguna, gunakan pernyataan GRANT
.
Sila ambil perhatian bahawa bahagian sebelum titik (.
) mewakili pangkalan data dan bahagian selepas titik (.
) mewakili jadual, contohnya, database.table
Untuk membenarkan akaun pengguna mengakses data daripada mana-mana hos untuk menyambung, gunakan peratus (%)
kad bebas, seperti dalam contoh berikut:
CREATE USER superadmin@'%'IDENTIFIED BY 'secret';
Kad liar peratus %
mempunyai kesan yang sama seperti dalam Operator LIKE
, sebagai contoh, untuk membenarkan Untuk mysqladmin
akaun pengguna menyambung ke pelayan pangkalan data daripada mana-mana subdomain hos begtut.com
, gunakan peratus aksara kad bebas %
seperti ini:
CREATE USER mysqladmin@'%.begtut.com'IDENTIFIED by 'secret';
Perhatikan bahawa anda juga boleh menggunakan CREATE USER
Gunakan kad bebas garis bawah _ dalam pernyataan Jika anda meninggalkan bahagian
yang boleh disambungkan daripada mana-mana hos Akaun pengguna baharu untuk menyambung ke pelayan pangkalan data: hostname
remote
CREATE USER remote;. akaun seperti berikut:
remote
SHOW GRANTS FOR remote;
Jika anda secara tidak sengaja merujuk akaun pengguna
, MySQL akan mencipta pengguna dan membenarkan pengguna menyambung dari mana-mana hos , yang mungkin bukan seperti yang anda harapkan 'username@hostname'
.
例如,以下语句创建一个api@localhost
可以从任何主机连接到MySQL数据库服务器的新用户。
CREATE USER 'api@localhost';
SHOW GRANTS FOR 'api@localhost';
如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote
已存在的名为的用户帐户:
CREATE USER remote;
MySQL发出以下错误消息:
ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'
注意:CREATE USER
语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT
语句。
虽然 CREATE USER 语句可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。
使用 GRANT 语句创建用户的基本语法形式如下:
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
其中:
priv_type 参数表示新用户的权限;
database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
user 参数指定新用户的账号,由用户名和主机名构成;
IDENTIFIED BY 关键字用来设置密码;
password 参数表示新用户的密码。
示例:
下面使用 GRANT 语句创建名为 test3 的用户,主机名为 localhost,密码为 test3。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:
mysql> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3'; Query OK, 0 rows affected, 1 warning (0.01 sec)
其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。
技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。
【相关推荐:mysql视频教程】
Atas ialah kandungan terperinci Bagaimana untuk menambah pengguna ke pangkalan data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!