第3章 MySQL 管理教程

启动及关闭 MySQL server

Windows 系统下

在 Windows 系统下,打开命令窗口(cmd),进入 MySQL install 目录的 bin 目录。

启动:


    cd c:/mysql/bin
    mysqld --console

关闭:


    cd c:/mysql/bin
    mysqladmin -uroot shutdown

Linux 系统下

首先,咱们需要通过以下命令来检查MySQLserver 是否启动:


    ps -ef | grep mysqld

如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,大神可以使用以下命令来启动mysqlserver :


    root@host# cd /usr/bin
    ./mysqld_safe &

如果大神想关闭目前运行的 MySQL server , 大神可以执行以下命令:


    root@host# cd /usr/bin
    ./mysqladmin -u root -p shutdown
    Enter password: ******


MySQL 用户设置

如果大神需要添加 MySQL 用户,大神只需要在 mysql database中的 user 表添加新用户即可。

以下为添加用户的实例,用户名为guest,password 为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:


    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() 函数来对password 进行加密。 大神可以在以上实例看到用户password 加密后为: 6f8c114b58f2ce9e.

注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string

**注意:**password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。

**注意:**在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。

如果大神不使用该命令,大神就无法使用新创建的用户来连接mysqlserver ,除非大神重启mysqlserver 。

大神可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 ‘Y’ 即可,用户权限列表如下:

  • 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

另外一种添加用户的方法为通过SQL的 GRANT 命令,以下命令会给指定databaseTUTORIALS添加用户 zara ,password 为 zara123 。


    root@host# mysql -u root -p
    Enter password:*******
    mysql> use mysql;
    Database changed
    
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
        -> ON TUTORIALS.*
        -> TO 'zara'@'localhost'
        -> IDENTIFIED BY 'zara123';

以上命令会在mysqldatabase中的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的命令

以下列出了使用Mysqldatabase过程中常用的命令:

  • USE database name :
    选择要操作的Mysqldatabase,使用该命令后所有Mysql命令都只针对该database。

    
        mysql> use liulianjiangcsdn;
        Database changed
    
    
  • SHOW DATABASES:
    列出 MySQL database管理系统的database列表。

    
        mysql> SHOW DATABASES;
        +--------------------+
        | Database           |
        +--------------------+
        | information_schema |
        | liulianjiangcsdn             |
        | cdcol              |
        | mysql              |
        | onethink           |
        | performance_schema |
        | phpmyadmin         |
        | test               |
        | wecenter           |
        | wordpress          |
        +--------------------+
        10 rows in set (0.02 sec)
    
    
  • SHOW TABLES:
    显示指定database的所有表,使用该命令前需要使用 use 命令来选择要操作的database。

    
        mysql> use liulianjiangcsdn;
        Database changed
        mysql> SHOW TABLES;
        +------------------+
        | Tables_in_liulianjiangcsdn |
        +------------------+
        | employee_tbl     |
        | liulianjiangcsdn_tbl       |
        | tcount_tbl       |
        +------------------+
        3 rows in set (0.00 sec)
    
    
  • SHOW COLUMNS FROM 数据表:
    显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

    
        mysql> SHOW COLUMNS FROM liulianjiangcsdn_tbl;
        +-----------------+--------------+------+-----+---------+-------+
        | Field           | Type         | Null | Key | Default | Extra |
        +-----------------+--------------+------+-----+---------+-------+
        | liulianjiangcsdn_id       | int(11)      | NO   | PRI | NULL    |       |
        | liulianjiangcsdn_title    | varchar(255) | YES  |     | NULL    |       |
        | liulianjiangcsdn_author   | varchar(255) | YES  |     | NULL    |       |
        | submission_date | date         | YES  |     | NULL    |       |
        +-----------------+--------------+------+-----+---------+-------+
        4 rows in set (0.01 sec)
    
    
  • SHOW INDEX FROM 数据表:
    显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

    
        mysql> SHOW INDEX FROM liulianjiangcsdn_tbl;
        +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
        | Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
        +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
        | liulianjiangcsdn_tbl |          0 | PRIMARY  |            1 | liulianjiangcsdn_id   | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
        +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
        1 row in set (0.00 sec)
    
    
  • SHOW TABLE STATUS [FROM db_name] [LIKE ‘pattern’] \G:
    该命令将输出Mysqldatabase管理系统的性能及统计信息。

    
        mysql> SHOW TABLE STATUS  FROM liulianjiangcsdn;   # 显示database liulianjiangcsdn 中所有表的信息
        
        mysql> SHOW TABLE STATUS from liulianjiangcsdn LIKE 'liulianjiangcsdn%';     # 表名以liulianjiangcsdn开头的表的信息
        mysql> SHOW TABLE STATUS from liulianjiangcsdn LIKE 'liulianjiangcsdn%'\G;   # 加上 \G,查询结果按列打印
    
    

本专栏所有文章

第1章 MySQL 教程第2章 MySQL 安装教程
第3章 MySQL 管理教程第4章 MySQL PHP 语法教程
第5章 MySQL 连接教程第6章 MySQL 创建数据库教程
第7章 MySQL 删除数据库教程第8章 MySQL 选择数据库教程
第9章 MySQL 数据类型教程第10章 MySQL 创建数据表教程
第11章 MySQL 删除数据表教程第12章 MySQL 插入数据教程
第13章 MySQL 查询数据教程第14章 MySQL WHERE 子句教程
第15章 MySQL UPDATE 更新教程第16章 MySQL DELETE 语句教程
第17章 MySQL LIKE 子句教程第18章 MySQL UNION教程
第19章 MySQL 排序教程第20章 MySQL 分组教程
第21章 MySQL 连接的使用教程第22章 MySQL NULL 值处理教程
第23章 MySQL 正则表达式教程第24章 MySQL 事务教程
第25章 MySQL ALTER命令教程第26章 MySQL 索引教程
第27章 MySQL 临时表教程第28章 MySQL 复制表教程
第29章 MySQL 元数据教程第30章 MySQL 序列使用教程
第31章 MySQL 处理重复数据教程第32章 MySQL 及 SQL 注入教程
第33章 MySQL 导出数据教程第34章 MySQL 导入数据教程
第35章 MySQL 函数教程第36章 MySQL 运算符教程

寄语

本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598

  • 也笑长安名利处,红尘半是马蹄翻(唐僧尚颜)
  • 只为这一天,将自己的实力展现;只为这一天,将自己的豪情彰显;十年寒窗苦读,今日一鼓作气;中考日,愿你信心满满,考场勇往直前,祝中考得意。
  • 算了吧。生活中有许多事,可能您经过再多的都无法达到。因为只要自己过、争取过,结果就不重要了。
  • 有无尽的思想可以供你利用。一切的知识、发现、发明,都已经以"可能性"的形式存在于宇宙的心中,等着人类的心灵去唤起。你的意识中即拥有一切。
  • 坚定的信念能赢得强者的心,并使他们变得更坚定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴莲酱csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值