七、MySQL 创建连接

连接到MySQL 服务器由三种办法,使用 mysql 命名 、使用 Navicat MySQL 客户端和使用各种开发语言连接

使用 mysql 命令连接

mysql 命令一般会随着 MySQL 安装而自带,这是最基本的也是最容易连接到 MySQL 服务器的方式

可以使用下面的命令连接到 MySQL 服务器

mysql -u [用户名] -p [密码,可以不输入]

例如使用 root 用户登录

[root@locahost ~]# mysql -u root -p

连接成功后会显示 mysql> 命令提示窗口,然后我们就可以开始使用这个连接运行任何 SQL 语句

命令演示如下

[root@pottercoding.cn ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

我们使用了 root 用户登录到 MySQL 服务器,我们也可以使用其他 MySQL 用户登录

如果用户权限足够,任何用户都可以在 MySQL 的命令提示窗口中进行 SQL 操作

退出 mysql>` 命令提示窗口

退出mysql> 命令提示窗口可以使用 exit 命令

MariaDB [(none)]> exit
Bye

使用 PHP 语言连接到 MySQL 服务器

PHP的 PDO 类库提供了 PDO::__construct() 函数来创建一个到 MySQL 服务器的连接对象

PDO::__construct 会创建一个 PDO 类的实例

<?php 
PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )

成功链接到 MySQL 后返回连接标识,失败抛出一个 PDO 异常 ( PDOException )

参数说明

参数 描述
dsn 必填。数据源名称或叫做 DSN,包含了请求连接到数据库的信息
username 可选。DSN字符串中的用户名,规定 MySQL 用户名
password 可选。DSN字符串中的密码,规定 MySQL 密码
driver_options 可选。一个具体驱动的连接选项的键=>值数组

PDO的实例可以不用显示的关闭,它会在 PHP 脚本执行完毕后自动销毁

如果想要主动关闭,可以把 PDO 的实例赋予 NULL,这样 PHP 的垃圾回收器就销毁 PDO 的实例,就能够实现会主动关闭到 MySQL 的连接

范例

下面的PHP 代码创建了一个到 127.0.0.1 上的 souyunku 数据库的连接

<?php
/*
 * filename: main.php
 * author: pottercoding.cn 程序员波特,程序员编程资料站(pottercoding.cn)
 * 
 * Copyright © 2015-2065 pottercoding.cn. All rights reserved.
 */
try {    
    $dbh = new PDO('mysql:host=127.0.0.1;dbname=souyunku', 'root', '');
    print_r($dbh);    
    $dbh = NULL;  //主动销毁 PDO 实例   
catch (PDOException $e) 
{    
    print "Error!: " . $e->getMessage() . "<br/>";    
    die();    

运行以上 PHP 范例,输出结果如下

$ php main.php
PDO Object()