今天在检查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内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!