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添加一个新用户,您只需在数据库 mysqluser 表中添加一条新的记录。

以下程序是一个示例,演示如何新增一个具有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中的使用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程