MySQLi - 管理

运行和关闭MySQLi服务器

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: ******

设置MySQLi用户帐户

为MySQLi添加新用户哪个是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 it1352.*
   -> TO 'zara'@'localhost'
   -> IDENTIFIED BY 'zara123';

这也将在mysql数据库表中创建一个名为 user 的条目.

注意 : 在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

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

管理MySQLi命令

以下是重要的MySQLi命令列表,您将有时间使用MySQL数据库 :

  • USE Databasename : 这将用于选择MySQLi工作区中的特定数据库.

  • SHOW DATABASES : 列出MySQLi DBMS可访问的数据库.

  • SHOW TABLES : 使用use命令选择数据库后,显示数据库中的表.

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

  • SHOW INDEX FROM tablename : 提供表中所有索引的详细信息,包括PRIMARY KEY.

  • SHOW TABLE STATUS LIKE tablename \ G : 报告MySQLi DBMS性能和统计信息的详细信息.