如何訪問linux服務器上的mysql8.0


首先安裝好了mysql-connector

 

1.1. 下載:

官網下載zip包,我下載的是64位的:

下載地址:https://dev.mysql.com/downloads/mysql/

下載zip的包:

下載后解壓:(解壓在哪個盤都可以的)

我放在了這里 E:\web\mysql-8.0.11-winx64 ,順便縮短了文件名,所以為 E:\web\mysql-8.0.11。

1.3. 生成data文件:

以管理員身份運行cmd

程序--輸入cmd 找到cmd.exe 右鍵以管理員身份運行

進入E:\web\mysql-8.0.11\bin 下

執行命令:

mysqld --initialize-insecure --user=mysql

在E:\web\mysql-8.0.11目錄下生成data目錄

1.4. 啟動服務:

執行命令:

net start mysql

啟動mysql服務,若提示:服務名無效...(請看步驟:1.5);

1.5. 解決啟動服務失敗(報錯):

提示:服務名無效

解決方法:

執行命令:

mysqld -install

即可(不需要my.ini配置文件 注意:網上寫的很多需要my.ini配置文件,其實不需要my.ini配置文件也可以,我之前放置了my.ini文件,反而提示服務無法啟動,把my.ini刪除后啟動成功了)

若出現提示“服務正在啟動或停止中,請稍后片刻后再重試一次”,需要去資源管理器中把mysql進程全結束了,重新啟動即可。

1.6. 登錄mysql:

登錄mysql:(因為之前沒設置密碼,所以密碼為空,不用輸入密碼,直接回車即可)

 

E:\mysql-5.7.20-winx64\bin>mysql -u root -p 

Enter password:

 

1.7. 查詢用戶密碼:

查詢用戶密碼命令:

mysql> select host,user,authentication_string from mysql.user;

host: 允許用戶登錄的ip‘位置'%表示可以遠程;

user:當前數據庫的用戶名;

authentication_string: 用戶密碼(后面有提到此字段);

1.8. 設置(或修改)root用戶密碼:

默認root密碼為空的話 ,下面使用navicat就無法連接,所以我們需要修改root的密碼。

這是很關鍵的一步。此處踩過N多坑,后來查閱很多才知道在mysql 5.7.9以后廢棄了password字段和password()函數;authentication_string:字段表示用戶密碼。

下面直接演示正確修改root密碼的步驟:

  一、如果當前root用戶authentication_string字段下有內容,先將其設置為空,否則直接進行二步驟。


use mysql;
update user set authentication_string='' where user='root'

3.下面直接演示正確修改root密碼的步驟:

  二、使用ALTER修改root用戶密碼,方法為

ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'

如下:

ALTER user 'root'@'localhost' IDENTIFIED BY 'Cliu123#'

  此處有兩點需要注意:

1、不需要flush privileges來刷新權限。

2、密碼要包含大寫字母,小寫字母,數字,特殊符號。

  修改成功; 重新使用用戶名密碼登錄即可;

注意: 一定不要采取如下形式該密碼:

use mysql;
update user set authentication_string="newpassword" where user="root";

 

這樣會給user表中root用戶的authentication_string字段下設置了newpassword值;

當再使用

ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'

時會報錯的;

因為authentication_string字段下只能是mysql加密后的41位字符串密碼;其他的會報格式錯誤;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

至此,安裝mysql和修改root密碼告一段落。

開始navicat for mysql篇。

賬號密碼都正確,連接報錯1251。OK 我們先來看看這個改動:

在MySQL 8.04前,執行:SET PASSWORD=PASSWORD('[新密碼]');

但是MySQL8.0.4開始,這樣默認是不行的。因為之前,MySQL的密碼認證插件是“mysql_native_password”,而現在使用的是“caching_sha2_password”。

so,我們這里需要再次修改一次root密碼。

先登錄進入mysql環境:執行下面三個命令。(記得帶上分號)

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
FLUSH PRIVILEGES;

 

OK.現在再去重連。perfect!

折騰了這么久,總算可以開始我的SQL之路了,撒花!撒花!撒花!

本來准備好的有截圖說明,發現插入圖片失敗,就先這樣吧。

轉載自:https://www.jb51.net/article/142025.htm

 

下面解決為什么會出現下面的情況;

D:\pythonProjects\mysql_connect_test>python mysql_connect_test.py
1130 (HY000): Host '113.140.84.102' is not allowed to connect to this MySQL server

 

這個問題是因為在數據庫服務器中的mysql數據庫中的user的表中沒有權限(也可以說沒有用戶),下面將記錄我遇到問題的過程及解決的方法。

 

  在搭建完LNMP環境后用Navicate連接出錯

  遇到這個問題首先到mysql所在的服務器上用連接進行處理

  1、連接服務器: mysql -u root -p

  2、看當前所有數據庫:show databases;

  3、進入mysql數據庫:use mysql;

  4、查看mysql數據庫中所有的表:show tables;

  5、查看user表中的數據:select Host, User,Password from user;

  6、修改user表中的Host:update user set Host='%' where User='root';

  7、最后刷新一下:flush privileges;

#一定要記得在寫sql的時候要在語句完成后加上" ; "下面是圖示說明

  

  遇到這個問題首先到mysql所在的服務器上用連接進行處理

  連接服務器: mysql -u root -p

  

  查看當前所有數據庫:show databases;

  

  進入mysql數據庫:use mysql;

  

  查看mysql數據庫中所有的表:show tables;

  

  查看user表中的數據:select Host, User,Password from user;

  

  修改user表中的Host:update user set Host='%' where User='root';

  

  最后刷新一下:flush privileges;

  

  重新在Navicate中測試一下:

    

 

轉載自:http://www.php.cn/mysql-tutorials-380131.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM