Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql RSA private key file

mysql报错RSA private key file not found的解决方法

作者:fiime

当MySQL报错RSA private key file not found时,可能是由于MySQL的RSA私钥文件丢失或者损坏导致的,此时可以重新生成RSA私钥文件,以解决这个问题

今天在检查mysql的时候发现如下错误

 [Note] RSA private key file not found: \mysql\data\\private_key.pem. Some authentication plugins will not work.
 [Note] RSA public key file not found: \mysql\data\\public_key.pem. Some authentication plugins will not work.

1、什么是RSA private key file?

RSA private key file,即RSA私钥文件,是RSA加密算法的重要组成部分,它是一种非对称加密算法,可以实现信息加密和解密,是目前最常用的加密算法之一。RSA私钥文件由两部分组成:私钥和公钥,私钥是用户的机密信息,只有用户自己才能访问,而公钥则可以被任何人访问。

2、mysql报错RSA private key file not found怎么解决?

当MySQL报错RSA private key file not found时,可能是由于MySQL的RSA私钥文件丢失或者损坏导致的,此时可以重新生成RSA私钥文件,以解决这个问题。

3、如何重新生成RSA私钥文件?

要重新生成RSA私钥文件,可以使用OpenSSL工具,首先需要安装OpenSSL,其次执行以下命令:

openssl genrsa -out private.key 2048

这样就可以在当前目录下生成一个private.key文件,将该文件拷贝到MySQL的安装目录下,即可解决RSA private key file not found的问题。

下面是其它网友的补充

安装mysql报错

[Note] RSA private key file not found: /db/mysql5.6/data//private_key.pem. Some authentication plugins will not work.
[Note] RSA public key file not found: /db/mysql5.6/data//public_key.pem. Some authentication plugins will not work.

解决方法如下:

windows解决方法

安装openssl有两种方式,第一种直接下载安装包,装上就可运行;第二种可以自己下载源码,自己编译。下面对两种方式均进行详细描述。

一、下载和安装openss

方法一:直接使用openssl安装包

Window 的openssl的安装包的下载地址为:

http://slproweb.com/products/Win32OpenSSL.html

2.利用openssl生成公有和私有key

openssl genrsa -out mykey.pem 1024
openssl rsa -in mykey.pem -pubout -out mykey.pub

linux下

1.检查是否安装openssl

$rpm -qa openssl
openssl-1.0.0-20.el6_2.5.x86_64

2.利用openssl生成公有和私有key

$ openssl genrsa -out mykey.pem 1024
Generating RSA private key, 1024 bit long modulus
..........++++++
.++++++
e is 65537 (0x10001)
$ openssl rsa -in mykey.pem -pubout -out mykey.pub
writing RSA key

3.修改key的权限

$ chmod 400 mykey.pem
$ chmod 444 mykey.pub
chown mysql:mysql mykey.pem
chown mysql:mysql mykey.pub

4.把公私有key的路径加入到my.cnf中

sha256_password_private_key_path=mykey.pem
sha256_password_public_key_path=mykey.pub
如果key放在datadir目录下,直接写key名即可。否则要指定key的全路径

5.重启mysql

SHOW STATUS查看Rsa_public_key状态,如果不为空,则OK.
mysql> SHOW STATUS LIKE 'Rsa_public_key'\G
*************************** 1. row ***************************
Variable_name: Rsa_public_key
       Value: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEALeNX9dY4EMlaDHCIYPBvFNN
NJG2f6dtsyV/IG94TFsKtx/Xobiiz9ihBZSWvUhlfz6aVy9TbN68YEn58G5oOS3o
sxKZQvDF9XvjN0thDPwCgfIwTZgatqmrV/qGewCxQpQ03WHPx+GXQmM9iFSfM84F
pZ8QtiI3m+fIUaOd/QIDAQAB
-----END PUBLIC KEY-----
1 row in set (0.00 sec)

到此这篇关于mysql报错RSA private key file not found的解决方法的文章就介绍到这了,更多相关mysql RSA private key file内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

阅读全文