Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xóa mệnh đề DEFINER khỏi MySQL Dumps

Tôi không nghĩ có cách nào để bỏ qua việc thêm DEFINER s đến bãi chứa. Nhưng có nhiều cách để xóa chúng sau khi tệp kết xuất được tạo.

  1. Mở tệp kết xuất trong trình soạn thảo văn bản và thay thế tất cả các lần xuất hiện của [email protected] với một chuỗi trống ""

  2. Chỉnh sửa kết xuất (hoặc chuyển đầu ra) bằng cách sử dụng perl :

    perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
    
  3. Kết xuất đầu ra thông qua sed :

    mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào một truy vấn có thể nhân 2 ô cho mỗi hàng MySQL?

  2. Làm cách nào để kết nối Django với cơ sở dữ liệu MySQL qua kết nối SSL?

  3. Viết một tệp PHP để đọc từ CSV và thực thi Truy vấn SQL

  4. Bảo quản và hiển thị văn bản chính xác như cách nó được nhập và gửi

  5. Quyền truy cập bị từ chối đối với người dùng 'tên người dùng' @ 'localhost' (sử dụng mật khẩu:CÓ) trong C:\ webdev \ wamp \ www \ memberSite \ class \ Mysql.php trên dòng 9