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 的 user 表中添加一条新的记录。
以下程序是一个示例,演示如何新增一个具有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查询进行更新。
- 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命令。以下示例将添加用户 zara ,并设置密码为 zara123 ,用于一个名为 TUTORIALS 的特定数据库。
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 的表的条目。
注意 :MySQL在SQL命令的末尾没有分号(;),将不会终止该命令。
/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数据库。
-
SHOW TABLES - 在使用命令选择数据库后,显示数据库中的表。
-
SHOW COLUMNS FROM tablename - 显示表的属性、属性类型、键信息、是否允许NULL、默认值以及其他信息。
-
SHOW INDEX FROM tablename - 显示表上所有索引的详细信息,包括主键。
-
SHOW TABLE STATUS LIKE tablename\G - 报告MySQL DBMS的性能和统计信息的详细信息。
在下一章中,我们将讨论PHP语法在MySQL中的使用。