MySQL – 管理
MySQL – 管理
运行和关闭 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 中的用户表中添加一个新条目。
下面的程序是添加一个具有SELECT、INSERT和UPDATE权限的新用户guest,密码为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 查询更新它们。
- 选择_priv
- 插入_priv
- 更新_priv
- 删除_priv
- 创建_priv
- drop_priv
- 重新加载_priv
- Shutdown_priv
- process_priv
- 文件_priv
- Grant_priv
- References_priv
- 索引_priv
- 改变_priv
添加用户帐户的另一种方法是使用 GRANT SQL 命令。以下示例将为名为TUTORIALS的特定数据库添加密码为zara123 的用户zara。
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';
这还将在 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
在这里,您可以为错误日志指定不同的目录,否则不应更改此表中的任何条目。
管理 MySQL 命令
以下是重要的 MySQL 命令列表,您将不时使用它们来处理 MySQL 数据库 –
-
USE Databasename – 这将用于在 MySQL 工作区中选择一个数据库。
-
SHOW DATABASES – 列出 MySQL DBMS 可访问的数据库。
-
SHOW TABLES – 使用 use 命令选择数据库后,显示数据库中的表。
-
SHOW COLUMNS FROM tablename:显示表的属性、属性类型、键信息、是否允许NULL、默认值和其他信息。
-
SHOW INDEX FROM tablename –显示表上所有索引的详细信息,包括 PRIMARY KEY。
-
SHOW TABLE STATUS LIKE tablename\G – 报告 MySQL DBMS 性能和统计信息的详细信息。
在下一章中,我们将讨论如何在 MySQL 中使用 PHP 语法。