MySQL - 连接
使用 MySQL 数据库时,我们使用客户端程序与数据库服务器通信。为此,我们必须首先在它们之间建立连接。
要将客户端程序连接到 MySQL 服务器,我们必须确保所有连接参数都正确使用。这些参数的工作原理与其他登录参数相同:由用户名和密码组成。其中,用户名是服务器运行的主机名,密码需要根据用户设置。
通常,每个连接参数都有一个默认值,但我们可以在命令行或选项文件中覆盖它们。
本教程仅使用 mysql 客户端程序来演示连接,但这些原则也适用于其他客户端,例如 mysqldump、mysqladmin 或 mysqlshow。
设置 MySQL Root 密码
通常,在安装 MySQL 服务器期间,我们会被要求设置 root 用户的初始密码。除此之外,我们也可以使用以下命令设置初始密码 -
mysql -u root password "new_password";
其中,new_password 是初始设置的密码。
重置密码
我们也可以使用 SET PASSWORD 语句更改现有密码。但是,只有在使用现有密码登录用户帐户后才能执行此操作。请看以下查询 -
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password_name'); FLUSH PRIVILEGES;
每次需要建立连接时,都必须输入此密码。
使用 MySQL 二进制文件建立 MySQL 连接
我们可以在命令提示符下使用 mysql 二进制文件建立 MySQL 数据库。
示例
这是一个从命令提示符连接到 MySQL 服务器的简单示例 -
[root@host]# mysql -u root -p Enter password:******
这将打开"mysql>"命令提示符,我们可以在其中执行任何 SQL 查询。以下是上述命令的执行结果 -
以下代码块显示了上述代码的执行结果 -
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2854760 to server version: 5.0.9 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
在上面的例子中,我们使用了 root 作为用户,但我们也可以使用任何其他用户。任何用户都可以执行允许该用户执行的所有 SQL 操作。
我们可以随时在 mysql> 提示符下使用 exit 命令断开与 MySQL 数据库的连接。
mysql> exit Bye
使用 PHP 脚本连接 MySQL
我们可以使用 PHP mysqli() 构造函数或 mysqli_connect() 函数打开/建立与 MySQL 数据库的连接。此函数接受六个参数,成功时返回 MySQL 链接标识符,失败时返回 FALSE。
语法
以下是使用构造函数 mysqli() 打开 MySQL 连接的语法 -
$mysqli = new mysqli($host, $username, $passwd, $dbName, $port, $socket);
参数
以下是其参数 -
Sr.No. | 参数 &说明 |
---|---|
1 |
$host 可选 - 运行数据库服务器的主机名。如果未指定,则默认值为 localhost:3306。 |
2 |
$username 可选 - 访问数据库的用户名。如果未指定,则默认为拥有服务器进程的用户的名称。 |
3 |
$passwd 可选 - 访问数据库的用户的密码。如果未指定,则默认密码为空。 |
4 |
$dbName 可选 - 要执行查询的数据库名称。 |
5 |
$port 可选 - 尝试连接到 MySQL 服务器的端口号。 |
6 |
$socket 可选 - 应使用的套接字或命名管道。 |
关闭连接
我们可以随时使用另一个 PHP 函数 close() 断开与 MySQL 数据库的连接。语法如下:-
$mysqli->close();
示例
尝试以下示例连接到 MySQL 服务器。将文件保存为 mysql_example.php -
<html> <head> <title>Connecting MySQL Server</title> </head> <body> <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'root@123'; $mysqli = new mysqli($dbhost, $dbuser, $dbpass); if($mysqli->connect_errno ) { printf("Connect failed: %s<br />", $mysqli->connect_error); exit(); } printf('Connected successfully.<br />'); $mysqli->close(); ?> </body> </html>
输出
访问部署在 Apache Web 服务器上的 mysql_example.php 并验证输出。
Connected successfully.