Rumah > pangkalan data > tutorial mysql > apa itu mysql root

apa itu mysql root

青灯夜游
Lepaskan: 2021-12-28 09:08:31
asal
7896 orang telah melayarinya

Root merujuk kepada pentadbir super apabila MySQL dipasang, pengguna bernama root akan dibuat secara lalai Pengguna ini mempunyai keizinan super dan boleh mengawal keseluruhan pelayan MySQL. Pengguna root mempunyai kebenaran yang sangat tinggi dan bukan sahaja boleh menukar kata laluannya sendiri, tetapi juga menukar kata laluan pengguna lain.

apa itu mysql root

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

Dalam mysql, root merujuk kepada pentadbir super, dan sistem akan lalai kepada pentadbir super.

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.

Secara amnya, pentadbir super root mempunyai keizinan yang jauh lebih besar daripada pengguna biasa, jadi sesetengah operasi memerlukan kebenaran root untuk dijalankan.

Pengguna root mempunyai kebenaran yang sangat tinggi dan bukan sahaja boleh menukar kata laluannya sendiri, tetapi juga menukar kata laluan pengguna lain.

MySQL menukar kata laluan root

Dalam MySQL, pengguna root mempunyai kebenaran yang sangat tinggi, jadi keselamatan kata laluan pengguna root mesti dipastikan.

Ubah suai jadual pengguna pangkalan data MySQL

Oleh kerana semua maklumat akaun disimpan dalam jadual pengguna, anda boleh menukar kata laluan pengguna root secara langsung dengan mengubah suai jadual pengguna .

Selepas pengguna root log masuk ke pelayan MySQL, anda boleh menggunakan kenyataan KEMASKINI untuk mengubah suai medan authentication_string pada jadual pengguna pangkalan data MySQL untuk mengubah suai kata laluan pengguna.

Format sintaks untuk menggunakan pernyataan UPDATA untuk mengubah suai kata laluan pengguna akar adalah seperti berikut:

UPDATE mysql.user set authentication_string = PASSWORD ("rootpwd) WHERE User = "root" and Host="localhost";
Salin selepas log masuk

Kata laluan baharu mesti disulitkan menggunakan fungsi PASSWORD(). Selepas melaksanakan kenyataan UPDATE, anda perlu melaksanakan kenyataan FLUSH PRIVILEGES untuk memuatkan semula kebenaran pengguna.

Contoh

Yang berikut menggunakan pernyataan KEMASKINI untuk menukar kata laluan pengguna root kepada "rootpwd2".

Selepas log masuk ke pelayan MySQL sebagai pengguna akar, pernyataan SQL dan hasil yang dijalankan adalah seperti berikut:

mysql> UPDATE mysql.user set authentication_string = password ("rootpwd2")
    -> WHERE User = "root" and Host = "localhost";
Query OK, 1 row affected, 0 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings:0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.06 sec)
Salin selepas log masuk

Keputusan menunjukkan bahawa kata laluan telah berjaya ditukar. Dan pernyataan FLUSH PRIVILEGES; Selepas log keluar, anda mesti log masuk dengan kata laluan baharu.

Gunakan pernyataan SET untuk menukar kata laluan pengguna root

Pernyataan SET PASSWORD boleh digunakan untuk menetapkan semula kata laluan log masuk pengguna lain atau kata laluan akaun yang anda gunakan. Struktur sintaks menggunakan pernyataan SET untuk menukar kata laluan adalah seperti berikut:

SET PASSWORD = PASSWORD ("rootpwd");
Salin selepas log masuk

Contoh

Yang berikut menggunakan pernyataan SET untuk menukar kata laluan pengguna root kepada "rootpwd3" .

Selepas log masuk ke pelayan MySQL sebagai pengguna root, pernyataan SQL dan hasil yang dijalankan adalah seperti berikut:

MySQL> SET PASSWORD = password ("rootpwd3");
Query OK, 0 rows affected (0.00 sec)
Salin selepas log masuk

Keputusan menunjukkan bahawa pernyataan SET telah dilaksanakan dengan jayanya dan root kata laluan pengguna telah berjaya ditetapkan kepada "rootpwd3".

MySQL root menukar kata laluan pengguna biasa

Gunakan pernyataan SET untuk menukar kata laluan pengguna biasa

Dalam MySQL, hanya pengguna root boleh mengemas kini pangkalan data MySQL untuk menukar kata laluan anda. Selepas log masuk ke pelayan MySQL sebagai pengguna akar, anda boleh menggunakan pernyataan SET untuk mengubah suai kata laluan pengguna biasa. Format sintaks adalah seperti berikut:

SET PASSWORD FOR 'username'@'hostname' = PASSWORD ('newpwd');
Salin selepas log masuk

Antaranya, parameter nama pengguna ialah nama pengguna pengguna biasa, parameter nama hos ialah nama hos pengguna biasa, dan newpwd ialah kata laluan baharu yang akan ditukar. .

Nota: Kata laluan baharu mesti disulitkan menggunakan fungsi PASSWORD() Jika ia tidak disulitkan menggunakan PASSWORD(), ia akan berjaya dilaksanakan, tetapi pengguna tidak akan dapat log masuk.

Jika pengguna biasa menukar kata laluan mereka, mereka boleh meninggalkan klausa FOR untuk menukar kata laluan mereka. Format sintaks adalah seperti berikut:

SET PASSWORD = PASSWORD('newpwd');
Salin selepas log masuk

Contoh 1

Mula-mula buat pengguna penguji tanpa kata laluan Penyataan SQL dan hasil carian adalah seperti berikut:

mysql> CREATE USER 'testuser'@'localhost';
Query OK, 0 rows affected (0.14 sec)
Salin selepas log masuk

pengguna root log masuk ke MySQL Selepas memasuki pelayan, gunakan pernyataan SET untuk menukar kata laluan pengguna penguji kepada "newpwd". dapat dilihat daripada keputusan yang sedang dijalankan, penyataan SET dilaksanakan dengan jayanya dan kata laluan pengguna penguji Berjaya ditetapkan kepada "newpwd".

mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd");
Query OK, 0 rows affected, 1 warning (0.01 sec)
Salin selepas log masuk
Yang berikut mengesahkan sama ada kata laluan pengguna penguji telah berjaya diubah suai. Keluar daripada pelayan MySQL, log masuk sebagai pengguna penguji, dan masukkan kata laluan "newpwd". pengguna berjaya log masuk dan menukar kata laluan dengan jayanya.

Contoh 2

Gunakan pengguna penguji untuk log masuk ke pelayan MySQL, dan kemudian gunakan pernyataan SET untuk menukar kata laluan kepada "newpwd1". :
C:\Users\leovo>mysql -utestuser -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.7.29-log MySQL Community Server (GPL)
 
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Salin selepas log masuk

Ia boleh dilihat daripada keputusan yang dijalankan bahawa kata laluan telah berjaya ditukar.

Gunakan pernyataan KEMASKINI untuk mengubah suai kata laluan pengguna biasa

mysql> SET PASSWORD = PASSWORD('newpwd1');
Query OK, 0 rows affected, 1 warning (0.00 sec)
Salin selepas log masuk

Selepas log masuk ke pelayan MySQL sebagai pengguna akar, anda boleh menggunakan kenyataan KEMASKINI untuk mengubah suai medan authentication_string pada jadual pengguna pangkalan data MySQL, dengan itu mengubah kata laluan untuk pengguna biasa. Sintaks pernyataan UPDATA adalah seperti berikut:

Antaranya, parameter nama pengguna ialah nama pengguna pengguna biasa, parameter nama hos ialah nama hos pengguna biasa, dan newpwd ialah kata laluan baru untuk ditukar.

Perhatikan bahawa selepas melaksanakan kenyataan KEMASKINI, anda perlu melaksanakan pernyataan FLUSH PRIVILEGES untuk memuatkan semula kebenaran pengguna.

Contoh 3
UPDATE MySQL.user SET authentication_string = PASSWORD("newpwd") WHERE User = "username" AND Host = "hostname";
Salin selepas log masuk

使用 root 用户登录 MySQL 服务器,再使用 UPDATE 语句将 testuser 用户的密码修改为“newpwd2”的 SQL 语句和运行结果如下:

mysql> UPDATE MySQL.user SET authentication_string = PASSWORD ("newpwd2")
    -> WHERE User = "testuser" AND Host = "localhost";
Query OK, 1 row affected, 1 warning (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 1
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.03 sec)
Salin selepas log masuk

由运行结果可以看出,密码修改成功。testuser 的密码被修改成了 newpwd2。使用 FLUSH PRIVILEGES 重新加载权限后,就可以使用新的密码登录 testuser 用户了。

使用 GRANT 语句修改普通用户密码

除了前面介绍的方法,还可以在全局级别使用 GRANT USAGE 语句指定某个账户的密码而不影响账户当前的权限。需要注意的是,使用 GRANT 语句修改密码,必须拥有 GRANT 权限。一般情况下最好使用该方法来指定或修改密码。语法格式如下:

GRANT USAGE ON *.* TO 'user'@’hostname’ IDENTIFIED BY 'newpwd';
Salin selepas log masuk

其中,username 参数是普通用户的用户名,hostname 参数是普通用户的主机名,newpwd 是要更改的新密码。

示例 4

使用 root 用户登录 MySQL 服务器,再使用 GRANT 语句将 testuser 用户的密码修改为“newpwd3”,SQL 语句和运行结果如下:

mysql> GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY 'newpwd3';
Query OK, 0 rows affected, 1 warning (0.05 sec)
Salin selepas log masuk

由运行结果可以看出,密码修改成功。

【相关推荐:mysql视频教程

Atas ialah kandungan terperinci apa itu mysql root. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan