如何使用命令行和PHP连接到我的MySQL数据库服务器

时间:2020-01-09 14:16:59  来源:igfitidea点击:

如何在Linux/Unix系统上使用命令行(通过ssh)或PHP连接到MySQL/MariaDB数据库服务器?
您可以使用mysql命令行客户端或使用编程语言(例如PHP或perl)连接到MySQL/MariaDB数据库服务器。
本教程介绍了如何在类似Linux/Unix的系统上使用mysql从命令行连接到MySQL。

使用命令mysql命令行客户端

语法为:

mysql -u DBUSER -h DBSERVERNAME_OR_IP -p

或者

mysql -u user_name -h mysql_server_ip_address_here -p db_name_here

确保根据您的设置替换用户名Hyman和主机名localhost:

$ mysql -u Hyman -h localhost -p

在提示您输入密码时提供密码。
您应该得到mysql>或MariaDB提示符,

如何列出所有数据库

您需要执行SQL命令。
例如,要列出数据库,请运行:

mysql> show databases;

输出示例:

+--------------------+
| Database           |
+--------------------+
| nixnewsletter      |
| nixwikibashportal  |
| nixscbzcms         |
| nixscbzfaq         |
| nixsnixtipsclean   |
| information_schema |
| mysql              |
| performance_schema |
| nibashportal       |
+--------------------+
9 rows in set (0.00 sec)

如何访问名为nibashportal的特定数据库

语法为:

mysql> use nibashportal;

如何列出nibashportal数据库中的所有表

语法为:

mysql> use nibashportal;
mysql> show tables;

输出示例:

+------------------------+
| Tables_in_nibashportal |
+------------------------+
| wp_commentmeta         |
| wp_comments            |
| wp_links               |
| wp_options             |
| wp_postmeta            |
| wp_posts               |
| wp_term_relationships  |
| wp_term_taxonomy       |
| wp_termmeta            |
| wp_terms               |
| wp_thesis_backups      |
| wp_thesis_terms        |
| wp_usermeta            |
| wp_users               |
| wp_wdpv_post_votes     |
| wp_wp_rp_tags          |
+------------------------+
16 rows in set (0.00 sec)

要描述表wp_users,请运行:

mysql> desc wp_users;

输出示例:

+---------------------+---------------------+------+-----+---------------------+----------------+
| Field               | Type                | Null | Key | Default             | Extra          |
+---------------------+---------------------+------+-----+---------------------+----------------+
| ID                  | bigint(20) unsigned | NO   | PRI | NULL                | auto_increment |
| user_login          | varchar(60)         | NO   | MUL |                     |                |
| user_pass           | varchar(255)        | NO   |     |                     |                |
| user_nicename       | varchar(50)         | NO   | MUL |                     |                |
| user_email          | varchar(100)        | NO   | MUL |                     |                |
| user_url            | varchar(100)        | NO   |     |                     |                |
| user_registered     | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| user_activation_key | varchar(255)        | NO   |     |                     |                |
| user_status         | int(11)             | NO   |     | 0                   |                |
| display_name        | varchar(250)        | NO   |     |                     |                |
+---------------------+---------------------+------+-----+---------------------+----------------+
10 rows in set (0.00 sec)

要列出wp_users表中的所有存储数据,请运行:

mysql> select * from wp_users;

或者

mysql> select ID,user_login,user_status,display_name from wp_users;

输出示例:

+----+------------+-------------+--------------+
| ID | user_login | user_status | display_name |
+----+------------+-------------+--------------+
|  1 | Hyman      |           0 |    |
+----+------------+-------------+--------------+
1 row in set (0.00 sec)

要退出,只需执行:

mysql> exit;

输出示例:

Bye

有关更多信息,请阅读mysql命令行手册页:

$ man mysql

使用PHP连接到MySQL

在名为test.php的文件中输入以下PHP代码:

<?php
   //php7 tested 
   //replace db, user and password
   $link = mysqli_connect("localhost", "my_user", "my_password", "my_db");
 
  // did we connected?
  if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
   }
 
  // run some query
   $query = "SELECT * FROM table";
   $result = mysql_query($query);
 
   while ($line = mysql_fetch_array($result))
   {
      foreach ($line as $value)
       {
         print "$value\n";
      }
   }
 
    mysqli_close($link);
?>

确保使用数据库用户名和密码替换USERNAME和PASSWORD。
同样,用数据库中的有效表和数据库名称替换TABLE和DATABASE。

输入url https//您的域名/myscript.php上载PHP文件