章节索引 :

与 MySQL 建立连接

前面介绍了 MySQL 的安装,相信您已经对 MySQL 安装操作有了进一步认识,本小节主要介绍如何在 Windows、Linux 上和 MySQL 建立连接,另外还介绍如何使用 PHP 代码和 MySQL 建立连接。

1. 命令行连接 MySQL

前面介绍了在 Windows 下安装最新版 MySQL 初始化安装步骤,启动 MySQL 服务,记录的初始密码可用于 “root” 账户登录进行相关操作,Windows 和 Linux 命令行操作步骤一样:

图片描述

上图为 MySQL 的初始密码。在 Windows 下打开 CMD 窗口,使用如下命令登录 MySQL

 命令 : mysql -uroot -p -P3306 -hlocalhost

命令中的 “-u” 后面表示登录用户名,"-p" 表示密码单独输入,"-P" 表示端口号,"-h" 表示主机地址,出现如下图所示表示需要输入密码,可将之前记录的初始密码右键粘贴回车即可,出现如下图所示表示登录成功:

图片描述

第一次用初始密码登录成功后须修改初始密码,如果不修改初始密码,则会提示错误信息:
图片描述

修改初始密码命令如下:

 命令 : ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

如下图所示,则表示修改 root 初始密码成功:
图片描述

2. Windows 客户端工具连接 MySQL

本节使用的 Windows 连接工具是 Navicat12, Navicat12 是商业收费版,可以先选择试用 30 天,应该足够学习使用了,

在 Windows 上还可以使用 MySQL 登录工具对 MySQL 进行管理,这里使用 Navicat 进行连接如图,点击左上角 "连接",选择 “MySQL”:
图片描述

如上图填写好相应的输入栏,可以点击 "连接测试",出现如下图则表示可以连接成功,选择 “确定” 即可连接 MySQL:
图片描述

3. 使用后端语言连接 MySQL

3.1 使用 PHP7 连接 MySQL

<?php
$serve = 'localhost:3306';//主机地址:端口号

$username = 'root'; //连接 MySQL 的账户

$password = '123456'; //连接 MySQL 的密码

$dbname = 'dbname'; //数据库名称

$link = mysqli_connect($serve,$username,$password,$dbname);

mysqli_set_charset($link,'UTF-8'); // 设置数据库字符集

$result = mysqli_query($link,'select * from customers');

$data = mysqli_fetch_all($result); // 从结果集中获取所有数据

print_r($data); //打印查询结果集

mysqli_close(); //关闭先前打开的数据库连接

3.2 使用 Python 连接 MySQL

import pymysql

db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接
cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询
data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据
print ("Database version : %s " % data)
db.close()

3.3 使用 Java 连接 MySQL

Java 连接 MySQL 分为五个步骤:

// 注册JDBC驱动
Class.forName(JDBC_DRIVER);

// 打开链接
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);

// 执行查询
Statement stmt = conn.createStatement();
String sql = "SELECT sno, sname FROM student";
ResultSet rs = stmt.executeQuery(sql);

// 展开结果集数据库

while(rs.next()){
// 通过字段检索
String no = rs.getString("sno");
String name = rs.getString("sname");

// 输出数据
System.out.println("no: " + no + ", name: " + name);

// 完成后关闭
rs.close();
stmt.close();
conn.close();

4. 小结

本小节主要帮助大家熟悉如何通过客户端与 MySQL 建立连接,实际生产环境中,这几种连接方式都会用到,需要注意的是上面介绍的都是在本地进行连接的,在正式项目发布后,项目的数据库一般都是建立在远程服务器上的,与其建立连接时需要使用远程权限的账号进行连接,否则会连接失败,后面章节介绍 MySQL 权限的相关知识时候会详细介绍远程账号权限。