MySQL - 管理数据库

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 的 user 表中添加一个新条目。

以下程序是添加具有SELECT,INSERT和UPDATE特权且密码为 guest123的新用户 guest 的示例; 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。

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-administration.html

来源:LearnFk无涯教程网

您还可以通过在执行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命令,下面的示例将为名为 Learnfk 的特定数据库添加用户 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 Learnfk.*
   -> 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 DBMS可访问的数据库。

  • SHOW TABLES                                                            - 显示表中的表,一旦使用use命令选择了数据库。

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

  • SHOW INDEX FROM tablename                             - 显示表上所有索引的详细信息,包括PRIMARY KEY。

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术管理实战36讲 -〔刘建国〕

如何设计一个秒杀系统 -〔许令波〕

分布式系统案例课 -〔杨波〕

etcd实战课 -〔唐聪〕

程序员的测试课 -〔郑晔〕

手把手带你搭建秒杀系统 -〔佘志东〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

林外 · 专利写作第一课 -〔林外〕

结构写作力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)