與 MySQL 建立連接
前面介紹了 MySQL 的安裝,相信您已經(jīng)對 MySQL 安裝操作有了進(jìn)一步認(rèn)識,本小節(jié)主要介紹如何在 Windows、Linux 上和 MySQL 建立連接,另外還介紹如何使用 PHP 代碼和 MySQL 建立連接。
1. 命令行連接 MySQL
前面介紹了在 Windows 下安裝最新版 MySQL 初始化安裝步驟,啟動 MySQL 服務(wù),記錄的初始密碼可用于 “root” 賬戶登錄進(jìn)行相關(guān)操作,Windows 和 Linux 命令行操作步驟一樣:
上圖為 MySQL 的初始密碼。在 Windows 下打開 CMD 窗口,使用如下命令登錄 MySQL:
命令 : mysql -uroot -p -P3306 -hlocalhost
命令中的 “-u” 后面表示登錄用戶名,"-p" 表示密碼單獨(dú)輸入,"-P" 表示端口號,"-h" 表示主機(jī)地址,出現(xiàn)如下圖所示表示需要輸入密碼,可將之前記錄的初始密碼右鍵粘貼回車即可,出現(xiàn)如下圖所示表示登錄成功:
第一次用初始密碼登錄成功后須修改初始密碼,如果不修改初始密碼,則會提示錯誤信息:
修改初始密碼命令如下:
命令 : ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
如下圖所示,則表示修改 root 初始密碼成功:
2. Windows 客戶端工具連接 MySQL
本節(jié)使用的 Windows 連接工具是 Navicat12, Navicat12 是商業(yè)收費(fèi)版,可以先選擇試用 30 天,應(yīng)該足夠?qū)W習(xí)使用了,
在 Windows 上還可以使用 MySQL 登錄工具對 MySQL 進(jìn)行管理,這里使用 Navicat 進(jìn)行連接如圖,點(diǎn)擊左上角 "連接",選擇 “MySQL”:
如上圖填寫好相應(yīng)的輸入欄,可以點(diǎn)擊 "連接測試",出現(xiàn)如下圖則表示可以連接成功,選擇 “確定” 即可連接 MySQL:
3. 使用后端語言連接 MySQL
3.1 使用 PHP7 連接 MySQL
<?php
$serve = 'localhost:3306';//主機(jī)地址:端口號
$username = 'root'; //連接 MySQL 的賬戶
$password = '123456'; //連接 MySQL 的密碼
$dbname = 'dbname'; //數(shù)據(jù)庫名稱
$link = mysqli_connect($serve,$username,$password,$dbname);
mysqli_set_charset($link,'UTF-8'); // 設(shè)置數(shù)據(jù)庫字符集
$result = mysqli_query($link,'select * from customers');
$data = mysqli_fetch_all($result); // 從結(jié)果集中獲取所有數(shù)據(jù)
print_r($data); //打印查詢結(jié)果集
mysqli_close(); //關(guān)閉先前打開的數(shù)據(jù)庫連接
3.2 使用 Python 連接 MySQL
import pymysql
db = pymysql.connect("數(shù)據(jù)庫ip","用戶","密碼","數(shù)據(jù)庫" ) # 打開數(shù)據(jù)庫連接
cursor.execute("SELECT VERSION()") # 使用 execute() 方法執(zhí)行 SQL 查詢
data = cursor.fetchone() # 使用 fetchone() 方法獲取單條數(shù)據(jù)
print ("Database version : %s " % data)
db.close()
3.3 使用 Java 連接 MySQL
Java 連接 MySQL 分為五個步驟:
// 注冊JDBC驅(qū)動
Class.forName(JDBC_DRIVER);
// 打開鏈接
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 執(zhí)行查詢
Statement stmt = conn.createStatement();
String sql = "SELECT sno, sname FROM student";
ResultSet rs = stmt.executeQuery(sql);
// 展開結(jié)果集數(shù)據(jù)庫
while(rs.next()){
// 通過字段檢索
String no = rs.getString("sno");
String name = rs.getString("sname");
// 輸出數(shù)據(jù)
System.out.println("no: " + no + ", name: " + name);
// 完成后關(guān)閉
rs.close();
stmt.close();
conn.close();
4. 小結(jié)
本小節(jié)主要幫助大家熟悉如何通過客戶端與 MySQL 建立連接,實際生產(chǎn)環(huán)境中,這幾種連接方式都會用到,需要注意的是上面介紹的都是在本地進(jìn)行連接的,在正式項目發(fā)布后,項目的數(shù)據(jù)庫一般都是建立在遠(yuǎn)程服務(wù)器上的,與其建立連接時需要使用遠(yuǎn)程權(quán)限的賬號進(jìn)行連接,否則會連接失敗,后面章節(jié)介紹 MySQL 權(quán)限的相關(guān)知識時候會詳細(xì)介紹遠(yuǎn)程賬號權(quán)限。