翼度科技»论坛 编程开发 mysql 查看内容

MySQL主从中复制账号密码可以加密吗?

12

主题

12

帖子

36

积分

新手上路

Rank: 1

积分
36
搭建MySQL主从复制后,你会发现复制账号的密码是明文存储在mysq.mysql.slave_master_info这张系统表的User_password字段当中,早期MySQL版本中,账号密码存储在master.info文件中。如下案例所示:
  1. mysql> select * from mysql.slave_master_info\G
  2. *************************** 1. row ***************************
  3. Number_of_lines: 33
  4. Master_log_name: mysql_binlog.000001
  5. Master_log_pos: 1165
  6. Host: 192.168.9.154
  7. User_name: repl
  8. User_password: ReL@wpL#123456
  9. Port: 3306
  10. Connect_retry: 60
  11. Enabled_ssl: 0
  12. Ssl_ca:
  13. Ssl_capath:
  14. Ssl_cert:
  15. Ssl_cipher:
  16. Ssl_key:
  17. Ssl_verify_server_cert: 0
  18. Heartbeat: 30
  19. Bind:
  20. Ignored_server_ids: 0
  21. Uuid: da5deebc-9b54-11ef-b5d0-0050569739e5
  22. Retry_count: 86400
  23. Ssl_crl:
  24. Ssl_crlpath:
  25. Enabled_auto_position: 0
  26. Channel_name:
  27. Tls_version:
  28. Public_key_path:
  29. Get_public_key: 1
  30. Network_namespace:
  31. Master_compression_algorithm: uncompressed
  32. Master_zstd_compression_level: 3
  33. Tls_ciphersuites: NULL
  34. Source_connection_auto_failover: 0
  35. Gtid_only: 0
  36. 1 row in set (0.00 sec)

  37. mysql>
复制代码
那么在搭建主从复制的时候,有没有方法将这个账号密码加密呢?检索了一些资料,在当前这个时间点,所有的MySQL版本都没有提供方法将其加密。也就是说,当前阶段,没有任何方法加密这个账号密码。确切的说是官方没有提供任何方法。完全忽略了这个安全隐患。
官方文档[How To Encypt Replication Credentials In mysql.slave_master_info (Doc ID 2623399.1)]中也给出了简单答复。至于如何规避密码明文存储的一些风险问题,官方给出的建议如下:
Ensure that the master info repository can be accessed only by the database administrator.
[...]
Use a restricted access mode to protect database backups that include log tables or log files containing passwords."
个人强烈建议在创建复制账号时,一定要严格限制这个账号的IP地址,以及账号的权限。不要授予过大的权限。
  1. --在MySQL主/从库中:创建数据同步的账号(从库也创建相同账号,方便切换)
  2. create user repl@'192.168.xxx.xx%' identified by "xxxxxxx";
  3. flush privileges;


  4. grant replication slave on . to 'repl'@'192.168.xxx.xx%';
  5. flush privileges;
复制代码
扫描上面二维码关注我如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
来源:https://www.cnblogs.com/kerrycode/p/18569792
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具