tampilkan login ke server (perhatikan bahwa %
berarti anyhost atau wildcard)
select user,host from mysql.user;
+-----------+------------+
| user | host |
+-----------+------------+
| ajax_guy | % |
| joe7 | % |
| joe8 | % |
+-----------+------------+
menunjukkan hibah apa yang ada untuk pengguna tertentu.
show grants for 'ajax_guy'@'%';
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
Cara memberikan akses ke db tertentu ke login tertentu. Di bawah ini kami memberikan semua hak kepada pengguna untuk so_gibberish
basis data .
grant ALL on so_gibberish.* to 'ajax_guy'@'%';
Lihat hibah yang berlaku sekarang untuk login itu
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `so_gibberish`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
Buat login baru drew_saturday
dengan kata sandi friday987
.Dia memiliki semua hak istimewa di database so_gibberish
dan dapat masuk dari host mana pun (%
)
grant ALL on so_gibberish.* to 'drew_saturday'@'%' IDENTIFIED BY 'friday987';
select user,host,password from mysql.user where user='drew_saturday';
+---------------+------+-------------------------------------------+
| user | host | password |
+---------------+------+-------------------------------------------+
| drew_saturday | % | *4600ED0F377308959665877BD327D4788DC2071F |
+---------------+------+-------------------------------------------+
Omong-omong, kata sandi di atas adalah kata sandi yang di-hash.
Catatan:untuk MySQL 5.7 perintah di atas adalah:
select user,host,authentication_string from mysql.user where user='drew_saturday';
Halaman manual MySQL di Hibah
. Jangan berikan hak berlebihan kepada pengguna yang menggunakan grant ALL on *. ...
. Itu untuk semua basis data dalam sistem. Cukup baca manualnya dan lebih sedikit lebih banyak.
Terkadang, admin ingin memberikan akses hanya ke beberapa tabel dalam database (tidak semua tabel di dalamnya) untuk login. Manual ini harus dibaca tentang ini.
Dan satu hal terakhir. 'drew_saturday'@'%' adalah login yang berbeda dari 'drew_saturday'@'NOT-local' (meminjam dari judul Anda). Mereka adalah login yang berbeda dengan hak yang berbeda. Itulah inti dari hal pertama yang saya tulis di sana.