Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menambah pengguna dalam mysql

Bagaimana untuk menambah pengguna dalam mysql

青灯夜游
青灯夜游asal
2021-12-31 15:27:2013003semak imbas

Kaedah untuk menambah pengguna: 1. Gunakan pernyataan "CREATE USER user IDENTIFIED BY 'password';" 2. Gunakan pernyataan "GRANT priv_type ON database.table TO user IDENTIFIED BY 'password';

Bagaimana untuk menambah pengguna dalam mysql

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.

MySQL menyediakan 3 kaedah berikut untuk mencipta pengguna.

  • Buat pengguna menggunakan pernyataan CREATE USER

  • Tambah pengguna dalam jadual mysql.user

  • Gunakan pernyataan GRANT untuk mencipta pengguna

Berikut menerangkan ketiga-tiga kaedah ini secara terperinci berdasarkan contoh.

1 Gunakan pernyataan CREATE USER untuk mencipta pengguna

Anda boleh menggunakan pernyataan CREATE USER untuk mencipta pengguna MySQL dan tetapkan. kata laluan yang sepadan. Format sintaks asas adalah seperti berikut:

CREATE USER <用户> [ IDENTIFIED BY [ PASSWORD ] &#39;password&#39; ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] &#39;password&#39; ]]

Penerangan parameter adalah seperti berikut:

1) Pengguna

menentukan untuk mencipta pengguna akaun, 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.

Perkara berikut perlu diberi perhatian apabila menggunakan pernyataan CREATE USER:

  • Pernyataan CREATE USER tidak perlu menyatakan kata laluan awal. Walau bagaimanapun, dari perspektif keselamatan, pendekatan ini tidak disyorkan.

  • Untuk menggunakan pernyataan CREATE USER, anda mesti mempunyai kebenaran INSERT bagi pangkalan data mysql atau kebenaran CREATE USER global.

  • Selepas mencipta pengguna menggunakan pernyataan CREATE USER, MySQL akan menambah rekod baharu dalam jadual pengguna pangkalan data mysql.

  • BUAT pernyataan PENGGUNA boleh mencipta berbilang pengguna pada masa yang sama dipisahkan dengan koma.

Pengguna yang baru dibuat mempunyai sangat sedikit kebenaran, mereka hanya boleh melakukan operasi yang tidak memerlukan kebenaran. Sebagai contoh, log masuk ke MySQL, gunakan pernyataan SHOW untuk menanyakan senarai semua enjin storan dan set aksara, dsb. Jika dua pengguna mempunyai nama pengguna yang sama tetapi nama hos yang berbeza, MySQL menganggap mereka sebagai dua pengguna dan membenarkan kedua-dua pengguna itu diberikan set kebenaran yang berbeza.

Contoh 1

Gunakan CREATE USER untuk mencipta pengguna, nama pengguna ialah test1, kata laluan ialah test1 dan nama hos ialah localhost. Pernyataan SQL dan proses pelaksanaan adalah seperti berikut.

mysql> CREATE USER &#39;test1&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;test1&#39;;
Query OK, 1 rows affected (0.06 sec)

Hasilnya menunjukkan bahawa pengguna test1 berjaya dibuat.

Dalam aplikasi praktikal, kita harus mengelak daripada menyatakan kata laluan dalam teks yang jelas Kita boleh menggunakan kata kunci KATA LALUan untuk menetapkan kata laluan menggunakan nilai cincang kata laluan.

Contoh 2

Dalam MySQL, anda boleh menggunakan fungsi kata laluan() untuk mendapatkan nilai cincang kata laluan Penyataan SQL dan proses pelaksanaan untuk melihat ujian1 nilai cincang adalah seperti berikut:

mysql> SELECT password(&#39;test1&#39;);
+-------------------------------------------+
| password(&#39;test1&#39;)                         |
+-------------------------------------------+
| *06C0BF5B64ECE2F648B5F048A71903906BA08E5C |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)

“*06C0BF5B64ECE2F648B5F048A71903906BA08E5C” ialah nilai cincang ujian1. Seterusnya, buat ujian pengguna1 Pernyataan SQL dan proses pelaksanaan adalah seperti berikut:

mysql> CREATE USER &#39;test1&#39;@&#39;localhost&#39;IDENTIFIED BY PASSWORD &#39;*06C0BF5B64ECE2F648B5F048A71903906BA08E5C&#39;;
Query OK, 0 rows affected, 1 warning (0.00 sec)

Selepas pelaksanaan berjaya, anda boleh log masuk dengan kata laluan "test1".

2 Gunakan penyata GRANT untuk mencipta pengguna baharu

Walaupun CREATE USER boleh mencipta pengguna biasa, kaedah ini menyusahkan untuk memberikan pengguna kebenaran. Jadi MySQL menyediakan pernyataan GRANT.

Bentuk tatabahasa asas menggunakan pernyataan GRANT untuk mencipta pengguna adalah seperti berikut:

GRANT priv_type ON database.table TO <用户> [IDENTIFIED BY [PASSWORD] &#39;password&#39;]

di mana:

  • priv_type Parameter mewakili kebenaran Pengguna baharu;

  • database.table parameter menunjukkan skop kebenaran pengguna baharu, iaitu, dia hanya boleh menggunakan kebenarannya sendiri pada pangkalan data dan jadual yang ditentukan;

  • bd4795a5247407571c0fdf154d114c39 Parameter menentukan akaun pengguna baharu, yang terdiri daripada nama pengguna dan nama hos; 🎜>

  • Kata kunci IDENTIFIED BY

    digunakan untuk menetapkan kata laluan; pengguna baharu itu.

  • Contoh 3

    Yang berikut menggunakan pernyataan GRANT untuk mencipta pengguna bernama test3 Nama hos ialah localhost dan kata laluan ialah test3. Pengguna ini mempunyai kebenaran SELECT pada semua jadual dalam semua pangkalan data. Pernyataan SQL dan proses pelaksanaan adalah seperti berikut:

    mysql> GRANT SELECT ON*.* TO &#39;test3&#39;@localhost IDENTIFIED BY &#39;test3&#39;;
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

    技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

    【相关推荐:mysql视频教程

Atas ialah kandungan terperinci Bagaimana untuk menambah pengguna dalam mysql. 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