MySQL 管理


启动及关闭 MySQL 服务器

Windows 系统下

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

启动:

cd c:/mysql/bin

mysqld --console

关闭:

cd c:/mysql/bin

mysqladmin -uroot shutdown

Linux 系统下

首先,我们需要通过以下命令来检查MySQL服务器是否启动:


ps -ef | grep mysqld

如果MySql已经启动,以上命令将输出mysql进程列表,

如果mysql未启动,你可以使用以下命令来启动mysql服务器:


root@host# cd /usr/bin

./mysqld_safe &

如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令:


root@host# cd /usr/bin

./mysqladmin -u root -p shutdown

Enter password: ******

MySQL 用户设置

如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。

以下为添加用户的的实例,用户名为guest,密码为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() 函数来对密码进行加密。

你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e.


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


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


注意:在注意需要执行 FLUSH PRIVILEGES 语句。

这个命令执行后会重新载入授权表。

如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。

你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 '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 命令,以下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 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';

以上命令会在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数据库过程中常用的命令:

  • USE 数据库名 :
    选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

    
    mysql> use RUNOOB;
    
    Database changed
    
  • SHOW DATABASES:
    列出 MySQL 数据库管理系统的数据库列表。

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

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

    
    mysql> SHOW COLUMNS FROM runoob_tbl;
    
    +-----------------+--------------+------+-----+---------+-------+
    
    | Field           | Type         | Null | Key | Default | Extra |
    
    +-----------------+--------------+------+-----+---------+-------+
    
    | runoob_id       | int(11)      | NO   | PRI | NULL    |       |
    
    | runoob_title    | varchar(255) | YES  |     | NULL    |       |
    
    | runoob_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 runoob_tbl;
    
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    
    | Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    
    | runoob_tbl |          0 | PRIMARY  |            1 | runoob_id   | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
    
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    
    1 row in set (0.00 sec)
    
  • SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:
    该命令将输出Mysql数据库管理系统的性能及统计信息。

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

Gif 图演示:

mysql从零开始之MySQL 管理的更多相关文章

  1. mysql从零开始之MySQL 选择数据库

    MySQL 选择数据库 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简 ...

  2. mysql从零开始之MySQL PHP 语法

    MySQL PHP 语法 MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP,在这些语言中,MySQL 在 PHP 的 web 开发中是应用最广泛. 在本教程中我们大 ...

  3. mysql从零开始之MySQL 安装

    MySQL 安装 所有平台的 MySQL 下载地址为: MySQL 下载 . 挑选你需要的 MySQL Community Server 版本及对应的平台. 注意:安装过程我们需要通过开启管理员权限来 ...

  4. mysql从零开始之MySQL 教程

    MySQL 教程 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数 ...

  5. mysql从零开始之MySQL 删除数据库

    MySQL 删除数据库 使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限. 在删除数据库过 ...

  6. mysql从零开始之MySQL UPDATE 更新

    MySQL UPDATE 更新 如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQ ...

  7. mysql从零开始之MySQL LIKE 子句

    MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...

  8. mysql从零开始之MySQL DELETE 语句

    MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令. 语法 ...

  9. mysql从零开始之MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...

随机推荐

  1. Html 之自动高度 auto 和 100%高度

    HTML 高度 下面示例 设置为 Auto 和 100% <!DOCTYPE html> <html lang="en"> <head> < ...

  2. openCV入门系列教学(一) 图像的读取、展示与保存

    序言 笔者最近做了两个CV领域的项目,因为数据量不足所以主要使用的是传统的CV方法.这时候不得不夸一句opencv库,让复杂的算法原理变得如此简单(调包调参侠表示很骄傲).所以闲暇下来对opencv的 ...

  3. MySQL 慢 SQL & 优化方案

    1. 慢 SQL 的危害 2. 数据库架构 & SQL 执行过程 3. 存储引擎和索引的那些事儿 3.1 存储引擎 3.2 索引 4. 慢 SQL 解决之道 4.1 优化分析流程 4.2 执行 ...

  4. 状态码1xx-6xx的含义

    1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请 ...

  5. MySQL-表迁移工具的选型-xtrabackup的使用

    1.1. 场景 有的时候test人员可能需要在测试库上比较新的数据,这时候只能是从生产库上面去那了.如果是小表还好实用mysqldump/mysqlpump就可以轻松的解决.但是,如果遇到了大表这将是 ...

  6. 快速排序(C++)

    快速排序 快速排序是面试中经常问到的排序算法 基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小, 则可分别对这两部分记录继续进行排序,以达到整个序 ...

  7. Python 利用GDAL对图像进行几何校正

    原文链接:https://blog.csdn.net/qq_27045589/article/details/81062586 一.几何校正方法 图像校正本质是建立一种从原始图像行列号到某种投影的数学 ...

  8. 各色Tarjan集合

    #include<bits/stdc++.h> using namespace std; const int N=100000,M=200000; //所有Tarjan都要: // dfn ...

  9. Python - pip 批量更新

    pip 常用命令 https://www.cnblogs.com/poloyy/p/15170968.html pip list 结合 Linux 命令 pip list 命令可以查询已安装的库,结合 ...

  10. Robot Framework(7)- DateTime 测试库常用的关键字列表

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 所有关键字 ...