mysql如何使用mysql_config_editor配置快捷登录,免密码执行mysql命令

分类:计算机 | 数据库 | MySQL | 综合 1987
更新:2021-01-10 01:24:05
编辑

说明

在mysql5.6以后的版本中提供了一个安全登录工具mysql_config_editor,可以给指定的连接和密码生成一个加密文件.mylogin.cnf,默认位于当前用户的根目录下,通过这个文件可以不需要密码执行一些命令,例如登录mysql、使用mysqldump备份数据库。

配置快捷登录

示例命令:

mysql_config_editor  set --login-path=test --host=localhost --user=root --port=3306 --password

其中,--login-path是登录路径名,相当于登录信息的一个秘钥,--host是mysql所在服务器的主机名或IP地址,--user是登录的数据库用户名,--port是登录数据库的对外服务端口,--password是登录的数据库用户密码。

执行该命令后会提示输入密码,输入密码后即可将登录信息保存到加密文件.mylogin.cnf中,注意这里系统不会对输入的密码进行正确性验证,不管对错,只是把密码保存了起来。

使用快捷登录

登录mysql:

mysql --login-path=test

使用mysqldump备份数据库:

mysqldump --login-path=test mysqldb1 > ./test.sql

注意事项

  1. 在使用mysql_config_editor配置快捷登录,输入密码时,如果密码中包含有一些特殊字符,比如&,$之类的,需要在密码前后加上双引号,否则mysql_config_editor配置的快捷登录就是无效的,在使用快捷登录时会提示“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”

  2. 如果在执行mysql_config_editor命令的时候提示“mysql_config_editor: command not found”的话可以在命令前面加上目录/usr/local/mysql/bin/,例如:

    /usr/local/mysql/bin/mysql_config_editor  set --login-path=test --host=localhost --user=root --port=3306 --password
    

参考资料

https://blog.csdn.net/weixin_34209851/article/details/89051074
https://vlambda.com/wz_7ixzGc7L1RY.html
https://www.it1352.com/1666712.html