一、概述

1、什么是数据库 ?
 答:数据的仓库,称其为数据库

2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?
 答:他们均是一种软件,都有两个主要的功能:
  a. 将数据保存到文件或内存
  b. 接收特定的命令,然后对文件进行相应的操作

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

PS:如果有了以上软件,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据库管理系统(DBMS,Database Management System)

3、什么是SQL语句 ?
 答:上述提到MySQL等软件可以接受命令,并做出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是是SQL语句。SQL是结构化语言(Structured Query Language)的缩写,SQL是一种专门用来与数据库通信的语言。

二、下载安装MySQL数据库安

想要使用MySQL来存储并操作数据,则需要做几件事情:

  a. 安装MySQL服务端
  b. 安装MySQL客户端
  b. 【客户端】连接【服务端】
  c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

 官方下载网址:http://dev.mysql.com/downloads/mysql/

Window版本安装

        http://www.jb51.net/article/112132.htm

MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】

1、显示数据库

SHOW DATABASES;显示数据库

SHOW DATABASES;

mysql - 用户权限相关数据
sys - 数据库的相关配置存放的表
information_schema MySQL本身架构相关数据
performance_schema主要用于收集数据库服务器性能参数

2、创建数据库

CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建一个utf-8编码数据库(数据库的校验规则,ci是case insensitive的缩写,意思是大小写不敏感)

CREATE DATABASE jxiou DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 创建一个gbk编码数据库

CREATE DATABASE jxioujjj DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3、使用数据库

USE 数据库名称; 选定一个指定的数据库

USE jxiou

SHOW TABLES;显示当前使用的数据库中所有表

SHOW TABLES;

4、删除数据库

drop database 数据库名称;  删除一个指定的数据库

drop database jxioujjj;

5、用户管理

注意:默认的root用户是超级管理员

创建用户

  create user '用户名'@'IP地址' identified by '密码';  创建一个用户

create user 'xyhu'@'127.0.0.1' identified by '279819';

查看MYSQL数据库中所有用户

  SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

删除用户

  drop user '用户名'@'IP地址';

drop user 'xyhu'@'127.0.0.1';

修改用户名

  rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

rename user 'xyhu'@'127.0.0.1' to 'xyhuuu'@'127.0.0.1';

修改密码

  set password for '用户名'@'IP地址' = Password('新密码');

set password for 'root'@'localhost' = Password('279819');

6、授权管理

PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

查看用户权限

  show grants for '用户'@'IP地址';  查看一个指定用户权限

show grants for 'root'@'localhost';

查看用户授权数据表结构

  select * from mysql.user where user='用户名' \G;  查看用户授权数据表结构

//注:\G为按列显示数据
select * from mysql.user where user='root' \G;

权限表说明


all privileges  除grant外的所有权限,除授权外的所有权限
Select_priv:用户可以通过SELECT命令选择数据。允许查看
Insert_priv:用户可以通过INSERT命令插入数据;允许查看和写入数据
Update_priv:用户可以通过UPDATE命令修改现有数据;
Delete_priv:用户可以通过DELETE命令删除现有数据;
Create_priv:用户可以创建新的数据库和表;
Drop_priv:用户可以删除现有数据库和表;
Reload_priv:用户可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表;重新加载权限表;
Shutdown_priv:用户可以关闭MySQL服务器;在将此权限提供给root账户之外的任何用户时,都应当非常谨慎;
Process_priv:用户可以通过SHOW PROCESSLIST命令查看其他用户的进程;服务器管理;
File_priv:用户可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令;加载服务器上的文件;
Grant_priv:用户可以将已经授予给该用户自己的权限再授予其他用户(任何用户赋予全部已有权限);
References_priv;目前只是某些未来功能的占位符;现在没有作用;
Index_priv:用户可以创建和删除表索引;用索引查询表;
Alter_priv:用户可以重命名和修改表结构;
Show_db_priv:用户可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库;可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因;
Super_priv:用户可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令;超级权限;
Create_tmp_table_priv:用户可以创建临时表;
Lock_tables_priv:用户可以使用LOCK TABLES命令阻止对表的访问/修改;
Execute_priv:用户可以执行存储过程;此权限只在MySQL 5.0及更高版本中有意义;
Repl_slave_priv:用户可以读取用于维护复制数据库环境的二进制日志文件;此用户位于主系统中,有利于主机和客户机之间的通信;主服务器管理;
Repl_client_priv:用户可以确定复制从服务器和主服务器的位置;从服务器管理;
Create_view_priv:用户可以创建视图;此权限只在MySQL 5.0及更高版本中有意义;
Show_view_priv:用户可以查看视图或了解视图如何执行;此权限只在MySQL 5.0及更高版本中有意义;
Create_routine_priv:用户可以更改或放弃存储过程和函数;此权限是在MySQL 5.0中引入的;
Alter_routine_priv:用户可以修改或删除存储函数及函数;此权限是在MySQL 5.0中引入的;
Create_user_priv:用户可以执行CREATE USER命令,这个命令用于创建新的MySQL账户;
Event_priv:用户能否创建、修改和删除事件;这个权限是MySQL 5.1.6新增的;
Trigger_priv:用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的;
Create_tablespace_priv:创建表空间
ssl_type:支持ssl标准加密安全字段
ssl_cipher:支持ssl标准加密安全字段
x509_issuer:支持x509标准字段
x509_subject:支持x509标准字段
max_questions:0 每小时允许执行多少次查询
max_updates:0 每小时可以执行多少次更新 :0表示无限制
max_connections:0 每小时可以建立的多少次连接:0表示无限制
max_user_connections:0 单用户可以同时具有的连接数:0表示无限制
plugin:5.5.7开始,mysql引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户
authentication_string:通过authentication_string可以控制两者的映射关系,(PAM plugin等,PAM可以支持多个服务名)尤其是在使用代理用户时,并须声明这一点
password_expired:密码过期 Y,说明该用户密码已过期 N相反

给用户授权

  grant  权限(对照上面权限表) on 数据库(要授权的数据库名称).表(数据库里的那张表) to   '用户'@'IP地址';

对于目标数据库授权
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库 对于用户IP授权
  用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%) 列如: grant all privileges on db1.tb1 TO '用户名'@'IP' grant select on db1.* TO '用户名'@'IP' grant select,insert on *.* TO '用户名'@'IP'
grant all privileges on *.* to 'xyhuuu'@'127.0.0.1';

给用户取消权限

  revoke 权限(对照上面权限表) on 数据库(要授权的数据库名称).表(数据库里的那张表) from '用户'@'IP地址';

对于目标数据库授权
数据库名.* 数据库中的所有
数据库名.表 指定数据库中的某张表
数据库名.存储过程 指定数据库中的存储过程
*.* 所有数据库 对于用户IP授权
  用户名@IP地址 用户只能在改IP下才能访问
用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
用户名@% 用户可以再任意IP下访问(默认IP地址为%)
revoke all privileges on *.* from 'xyhuuu'@'127.0.0.1';

MySQL数据库安装和介绍的更多相关文章

  1. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  2. (三)—Linux文件传输与mysql数据库安装

    文件传输工具使用    为了速成,关于linux系统的学习都先放一放,用到哪个知识点就查哪个,这里想在linux下装一些服务练练手,最先想到的就是装个mysql数据库试试. 因为我用的是虚拟机下的li ...

  3. Mysql数据库的简单介绍与入门

    Mysql数据库的简单介绍与入门 前言 一.下载与安装 1.下载 官网下载MYSQL5.7.21版本,链接地址https://www.mysql.com/downloads/.下载流程图如下: 找到M ...

  4. mysql数据库安装注意事项:

    mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...

  5. Mysql数据库安装和配置

    http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...

  6. MySql数据库安装

    MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  7. MySql 数据库安装、环境变量配置 以及 本地连接

    一.准备 MySql 的安装包,这里我从网上下载的是 mysql-installer-community-5.6.21.1.msi,如下图:     二.,双击 mysql-installer-com ...

  8. MySql C++调用库Connector/c++编译 和 接口封装【一】mysql数据库安装

    Connector/c++库的源文件编译,你需要先准备好以下工具:     mysql数据库(编译时要依赖),boost库,cmake(生成sln工程文件),connector/c++的源文件,vis ...

  9. neo4j 图数据库安装及介绍

    neo4j 图数据库安装及介绍 一.neo4j图数据库介绍 图数据库,顾名思义就是利用了"图的数据结构来作为数据存储逻辑体现的一种数据库",所以要想学好图数据库当然需要了解一些关于 ...

随机推荐

  1. Dev-cpp怎样去掉括号匹配?

    很多编C/C++的同学在用Dev-cpp的时候,就感觉到括号匹配很烦,又不知道哪里去掉. 所以,让ljn告诉你怎样去掉括号匹配. 1.打开Dev-cpp. 2.在菜单栏上,点击“工具[T]”,选择“编 ...

  2. unity中实现三个Logo图片进行3秒钟的若隐若现后互相切换Logo图片

    private List<Sprite> storeTexture; public void Start() { storeTexture = new List<Sprite> ...

  3. @ResponseBody中文乱码解决方案

    java web项目,使用了springmvc4.0,用@ResponseBody返回中文字符串,乱码$$ 本以为很简单的问题,不过也找了一个小时. 网上有说这样配置的: <mvc:annota ...

  4. OOP⑸

    1.封装: 继承: extends java只支持单根继承!(一个类只能有一个直接的父类) 是代码重用的一种方式! 将子类共有的属性和方法提取到父类中去! Object:超类/基类==>java ...

  5. Python Django 之 静态文件存放设置

    一.静态文件存放路径设置STATICFILES_DIRS 1.在django项目目录下面新建静态文件保存目录 2.在setting中添加相应寻找静态文件目录的配置 STATICFILES_DIRS=( ...

  6. 每天CSS学习之caption-side

    caption-side是CSS2的属性,其作用是规定标题的位置在表格的上面还是下面. 1.top:默认值,将表格标题定位在表格之上.如下例子: caption{ caption-side:top; ...

  7. jdk8-四大函数式接口

    jdk8四大核心接口 1.Comsumer接口 2.Function函数型接口 3.断言型接口 4.供给型接口 核心接口的子接口

  8. MII接口介绍(转)

    1.简介 MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准.它包括一个数据接口和一个MAC和PHY之间的 ...

  9. Ionic2开发环境搭建、项目创建调试与Android应用的打包、优化

    Ionic2开发环境搭建.项目创建调试与Android应用的打包.优化. windows下ionic2开发环境配置步骤如下: 下载node.js环境,稳定版本:v6.9.5 下载android stu ...

  10. CodeForces - 631C (截取法)

    C. Report time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...