今天時隔多日又要做一個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成功遠程連接數據庫