Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Salin hak pengguna antar database di server yang sama

Semua hak istimewa yang diberikan disimpan dalam tabel sistem, mis. - mysql.tables_priv, mysql.columns_priv, mysql.db... Anda dapat menulis skrip untuk menyalin semua hak istimewa yang Anda butuhkan.

Misalkan kita memiliki pengguna -

CREATE USER 'user1'@'%';
GRANT Insert ON TABLE database1.table1 TO 'user1'@'%';
GRANT Execute ON PROCEDURE database1.procedure1 TO 'user1'@'%';

Sekarang, kita akan menyalin hak istimewa ini untuk memiliki akses ke database 'database2' -

-- Copy table's privileges
INSERT INTO mysql.tables_priv SELECT host, 'database2', user, table_name, grantor, timestamp, table_priv, column_priv FROM mysql.tables_priv
  WHERE user = 'user1' AND host = '%' AND db = 'database1';

-- Copy routine's privileges
INSERT INTO mysql.procs_priv SELECT host, 'database2', user, routine_name, routine_type, grantor, proc_priv, timestamp FROM mysql.procs_priv
  WHERE user = 'user1' AND host = '%' AND db = 'database1';

-- Do not forget to apply changes ;-)
FLUSH PRIVILEGES;

Lakukan hal yang sama untuk tabel sistem lainnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat menu tarik-turun

  2. masukkan semua baris dari tabel ke tabel lain, satu kueri

  3. Hosting Web Gratis dengan Dukungan PHP

  4. Laravel - Bagaimana cara menghasilkan siput unik dari judul artikel dengan benar?

  5. Regex untuk mendapatkan kode area dan distrik dari kode pos Inggris