博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库之MySQL(一)
阅读量:5265 次
发布时间:2019-06-14

本文共 3509 字,大约阅读时间需要 11 分钟。

概述

1、什么是数据库 ?

   数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库

2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?

   他们均是一个软件,都有两个主要的功能:

  • a. 将数据保存到文件或内存

  • b. 接收特定的命令,然后对文件进行相应的操作

3、什么是SQL ?

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

 

下载安装

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

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

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

 

Window版本

1、下载

MySQL Community Server

http://dev.mysql.com/downloads/mysql/

2、解压

如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64

3、初始化

MySQL解压后的 bin 目录下有一大堆的可执行文件,执行如下命令初始化数据:

cd c:\mysql-5.7.16-winx64\bin mysqld --initialize-insecure

 

4、启动MySQL服务

# 进入可执行文件目录 cd c:\mysql-5.7.16-winx64\bin # 启动MySQL服务 mysqld

 

5、启动MySQL客户端并连接MySQL服务

由于初始化时使用的【mysqld --initialize-insecure】命令,其默认未给root账户设置密码

# 进入可执行文件目录 cd c:\mysql-5.7.16-winx64\bin # 连接MySQL服务器 mysql -u root -p # 提示请输入密码,直接回车

 

输入回车,见下图表示安装成功:

 

到此为止,MySQL服务端已经安装成功并且客户端已经可以连接上,以后再操作MySQL时,只需要重复上述4、5步骤即可。但是,在4、5步骤中重复的进入可执行文件目录比较繁琐,如想日后操作简便,可以做如下操作。

a. 添加环境变量

将MySQL可执行文件添加到环境变量中,从而执行执行命令即可

【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
如:
C:\Program Files (x86)\Parallels\Parallels Tools\Applications;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Python27;C:\Python35;C:\mysql-5.7.16-winx64\bin

 

如此一来,以后再启动服务并连接时,仅需:

# 启动MySQL服务,在终端输入 mysqld # 连接MySQL服务,在终端输入: mysql -u root -p

 

b. 将MySQL服务制作成windows服务

上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:

# 制作MySQL的Windows服务,在终端执行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服务,在终端执行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove

 

注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:

# 启动MySQL服务 net start mysql # 关闭MySQL服务 net stop mysql

 

Linux版本

安装:

yum install mysql-server  

服务端启动

mysql.server start

 

数据库操作

1、显示数据库

SHOW DATABASES;

默认数据库:

  mysql - 用户权限相关数据
  test - 用于用户测试数据

  information_schema - MySQL本身架构相关数据

2、创建数据库

# utf-8 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

 

3、使用数据库

USE db_name;

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

4、用户管理

创建用户    create user '用户名'@'IP地址' identified by '密码'; 删除用户    drop user '用户名'@'IP地址'; 修改用户    rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';; 修改密码    set password for '用户名'@'IP地址' = Password('新密码')   PS:用户权限相关数据保存在mysql数据库的user表中, 所以也可以直接对其进行操作(不建议)

 

5、授权管理

show grants for '用户'@'IP地址'                  -- 查看权限 grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权 revoke 权限 on 数据库.表 from '用户'@'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' revoke select on db1.tb1 from '用户名'@'IP'

flush privileges,将数据读取到内存中,从而立即生效。

 

忘记密码

# 启动免授权服务端 mysqld --skip-grant-tables # 客户端 mysql -u root -p # 修改用户名密码 update mysql.user set authentication_string=password('666') where user='root'; flush privileges;

 


 

识别图中二维码,领取python全套视频资料

 

转载于:https://www.cnblogs.com/IT-Scavenger/p/9176288.html

你可能感兴趣的文章
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
关于软件盘覆盖住布局
查看>>
Unity3D 控制物体移动、旋转、缩放
查看>>
UVa 11059 最大乘积
查看>>
UVa 12545 比特变换器
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
10个著名的思想实验1
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
Web Api 利用 cors 实现跨域
查看>>
hdu 3938 并查集
查看>>
instanceof
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
C# GC 垃圾回收机制
查看>>