今天时隔多日又要做一个MYSQL的项目,在阿里云轻量服务器上安装以及本地远程连接的时候遇到了一些坑,记录一下
安装教程https://www.runoob.com/mysql/mysql-install.html
1. 执行mysqld --initialize --console时,报错“丢失MSVCP140.dll”
这个的原因是服务器没有安装vc++2015运行库,网上很容易找,我也丢一个在这儿
链接:https://pan.baidu.com/s/1716tzU5SInZssN2Zg6rlBA
提取码:v7z9
下载解压,安装对应的32位或64位版本即可
2. 继续执行mysqld --initialize --console,又报错mysqld不是内部命令
解决方法:环境变量path添加mysql文件夹的bin目录,比如C:\apache-tomcat-8.5.51-windows-x64\bin,注意要和之前的东西用;分隔
3. 安装成功之后,修改root用户密码
正确命令
ALTER USER'root'@'localhost' IDENTIFIED BY '新密码’;
网上其他的都有问题
4. 本地远程连接数据库
这里用的是navicat,报的错是“host xxxxx is not allowed to connect this MySQL server”
这个是服务器root用户还没有远程连接的权限,root用户登录mysql后执行以下命令即可
use mysql; update user set host = '%' where user ='root'; flush privileges;
执行后再用select host from user where user='root'; 看一下是不是通配符%就可以了
5. 上述问题改了后,navicat还是报错,报错码2059
这是因为mysql8以上版本更换了加密规则,这里提供解决方法之一
同样是root用户登录数据库后
ALTER USER 'root'@'%' IDENTIFIED BY '你的mysql密码' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的mysql密码'; FLUSH PRIVILEGES;
这样,我的服务器就成功安装了MySQL以及本地navicat成功远程连接数据库