MySQLi - 管理



运行和关闭 MySQL 服务器

首先检查您的 MySQL 服务器是否正在运行。您可以使用以下命令进行检查:

ps -ef | grep mysqld

如果您的 MySQL 正在运行,您将看到结果中列出了 **mysqld** 进程。如果服务器未运行,您可以使用以下命令启动它:

root@host# cd /usr/bin
./safe_mysqld &

现在,如果您想关闭正在运行的 MySQL 服务器,可以使用以下命令:

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

设置 MySQL 用户帐户

要向 MySQL 添加新用户,您只需要在 **mysql** 数据库的 **user** 表中添加一个新条目。

以下程序是添加新用户 **guest** 的示例,该用户具有 SELECT、INSERT 和 UPDATE 权限,密码为 **guest123**;SQL 查询如下:

root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user 
   (host, user, password, 
   select_priv, insert_priv, update_priv) 
   VALUES ('localhost', 'guest', 
   PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
|    host   |   user  |     password     |    
+-----------+---------+------------------+
| localhost |  guest  | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

添加新用户时,请记住使用 MySQL 提供的 PASSWORD() 函数加密新密码。如上例所示,密码 mypass 被加密为 6f8c114b58f2ce9e。

注意 FLUSH PRIVILEGES 语句。这告诉服务器重新加载授权表。如果不使用它,您将无法使用新用户帐户连接到 MySQL,至少在服务器重新启动之前是这样。

您还可以通过在执行 INSERT 查询时将以下列的值设置为 'Y' 来为新用户指定其他权限,或者您以后可以使用 UPDATE 查询来更新它们。

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

另一种添加用户帐户的方法是使用 GRANT SQL 命令。以下示例将为名为 **TUTORIALS** 的特定数据库添加用户 **zara**,密码为 **zara123**。

root@host# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
   → ON TUTORIALS.*
   → TO 'zara'@'localhost'
   → IDENTIFIED BY 'zara123';

这也会在名为 **user** 的 MySQL 数据库表中创建一个条目。

**注意** - 除非在 SQL 命令末尾添加分号 (;),否则 MySQL 不会终止命令。

/etc/my.cnf 文件配置

在大多数情况下,您不应该修改此文件。默认情况下,它将包含以下条目:

[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

[mysql.server]
user = mysql
basedir = /var/lib

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

在这里,您可以为错误日志指定不同的目录,否则您不应该更改此表中的任何条目。

MySQL 管理命令

以下是您将不时使用来处理 MySQL 数据库的重要 MySQL 命令列表:

  • **USE 数据库名** - 这将用于在 MySQL 工作区中选择一个数据库。

  • **SHOW DATABASES** - 列出 MySQL DBMS 可访问的数据库。

  • **SHOW TABLES** - 在使用 USE 命令选择数据库后,显示数据库中的表。

  • **SHOW COLUMNS FROM *表名*:** 显示表的属性、属性类型、键信息、是否允许 NULL、默认值以及表的其他信息。

  • **SHOW INDEX FROM 表名** - 显示表上所有索引的详细信息,包括主键。

  • **SHOW TABLE STATUS LIKE 表名\G** - 报告 MySQL DBMS 性能和统计详细信息。

广告
© . All rights reserved.