04 与 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 是商业收费版,关于Navicat12 的破解版安装,请自行网上搜索安装教程。
在 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 权限的相关知识时候会详细介绍远程账号权限。