MySQL数据库1初识MySQL
目录
Mysql
一、数据库是什么?
字面意思:存数据的仓库
二、为啥使用数据库?(*****)
Excel的缺点:
1.管理不了大量的数据(10w量级以上的数据)
2.不能并发操作同一个数据表格
3.数据库支持一些高级的操作:分组,连表等
三、数据库的分类(*****)
1.关系型数据库
对每一列的数据类型都有约束,ID(整型)name(字符串)等
MySQL,SqlServer,oracle,sqlite,maridb等
MySQL是用的比较多,主要是免费
SqlServer微软的,只有大学、政府用的比较多
oracle:甲骨文的,收费,金融公司(安全度高)、阿里
sqlite:小型的文件数据库,自己玩一玩
maridb:和MySQL一个人开发的
2.非关系型数据库
memcache没有解决
mongodb,文档型数据库,用的不太多,解决了掉电内存数据丢失的问题
Redis:微博使用,解决了掉电内存数据丢失的问题
用{“key”:‘value’}进行存储数据
3.关系型与非关系型区别:
关系型数据库,把数据存在硬盘中
非关系型,把数据存在内存中(速度快)
四、数据库MySQL的架构
类似于socket的客户端和服务端
流程:
1.MySQL服务端先启动,监听在某一个特定的端口(3306)
2.MySQL客户端连接服务端
3.MySQL客户端就可以发送操作命令,去操作服务端的数据。
五、数据库的安装
windows 安装:去官网找资料(学习的方法)安装,
MySQL软件官方下载地址(https://dev.mysql.com/downloads/mysql/),个人感觉下载压缩包版比下载安装包办的要好,因为安装包版的默认安装路径为系统盘,整个数据库有1.8G左右,太占系统盘存储。
1.安装步骤:
1.解压
想将数据库安装到哪个盘就将数据库解压到哪个盘(独立的一个文件夹)
2.添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》(win10直接搜环境变量就可以到这一步)【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
bin下面的mysql是客户端,mysqld是服务端
3.初始化
在cmd界面输入mysqld --initialize-insecure对数据库进行初始化。
4.启动MySQL服务
输入:mysqld
5.启动mysql客户端并连接到mysql服务端
输入指令:mysql -u root -p
6.将mysql服务制作成windows服务
制作MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
移除MySQL的Windows服务,在终端执行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
注意:引号内的路径是bin目录下的mysqld路径必须是绝对路径。
2.启动mysqd的两种方式:
1.启动服务cmd端输入 net start mysql
停止服务cmd端输入net stop mysql
2.如下图,在计算机的计算机管理里面手动进行启动、停止、重启服务端!
以上是5.6、5.7版本安装的全部过程。
3.密码的修改操作
在上面的流程走完之后软件的root权限密码默认为空,第一次修改密码时输入下面指令(在cmd窗口,管理员身份运行cmd,在cmd下输入,不是在mysql下输入):
mysqladmin -uroot -p password "要设置的密码"
第二次以及以后修改密码则输入下面的指令
mysqladmin -uroot -p"原密码" password "新密码"
4.如果密码忘掉了,修改密码方法:
1)5.6版本mysql修改密码方法
1 关闭正在运行的MySQL服务。
2 打开DOS窗口,转到mysql\bin目录。
3 输入mysqld --skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5 输入mysql回车,如果成功,将出现MySQL提示符 >。
连接权限数据库: use mysql; 。
6 改密码:update user set password=password(“123”) where user=“root”;(别忘了最后加分号) 。
7 刷新权限(必须步骤):flush privileges; 。
8 退出 quit。
注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
2)5.7版本
1 关闭mysqld的服务
2 在cmd中执行:mysqld --skip-grant-tables =》 不用密码就可以登录,绕过密码验证的权限
3 在cmd中执行:mysql =》 mysql -uroot -p
4 执行如下sql指令:
(特别注意,此处5.7版本与5.6不一样)update mysql.user set authentication_string=password('') where user = 'root';
5 flush privileges; (一定要操作)
6 重新启动mysql服务
六、初识Mysql
SQL指令
1)操作数据库
查看当前用户: select user();
数据库的命名规范:
可由字母、数字、下划线、@、#、$组成,区分大小写,不能使用关键字如create 、select等,不能单独使用数字,最长不能超过128位
增 create database 数据库名称 charset utf8;
删 drop database 数据库名称;
改:先删除再添加,如果数据库有数据的话,直接drop会导致数据库中的数据丢失,在线上环境,不能够直接删除数据,在删除数据之前需要先进行备份
查 show databases;
使用数据库 use 数据库名;
确定当前使用的数据库: select database();
查看所有用户权限
select * from mysql.user\G;
查看某个用户的权限
select * from mysql.db where user='用户名'\G;
用户信息存放在一个名为mysql.user的表里
select user,password,host from mysql.user;
MySQL数据库1初识MySQL的更多相关文章
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...
- 重新学习MySQL数据库10:MySQL里的那些日志们
重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志, ...
- 重新学习MySQL数据库8:MySQL的事务隔离级别实战
重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read unco ...
- 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理
重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...
- 重新学习MySQL数据库4:Mysql索引实现原理
重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一.简介 MySQL目前主 ...
- 初识数据库、初识MySQL
一.为什么要用数据库 # 1.将文件和程序存在一台机器上是很不合理的. # 2.操作文件是一件很麻烦的事. 所以就出现了一个新的概念 —— 数据库 你可以理解为 数据库 是一个可以在一台机器上独立工作 ...
- MySQL数据库2 - 登录MySQL及数据库管理
一. 登录数据库 1.使用命令窗口登录MySQL 启动Mysql服务 -> 打开命令窗口 -> 输入登录密码 具体步骤:开始菜单 - 控制面板 - 管理工具 - 服务 - Mysql56( ...
- mysql 数据库问题com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
本文转自:http://blog.csdn.net/zmzsoftware/article/details/6835604 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc ...
- c++连接mysql数据库(使用mysql api方式,环境VS2013+MYSQL5.6)
转载请注明出处,原文地址http://www.cnblogs.com/zenki-kong/p/4382657.html 刚开始写博客,博主还只是个大三汪,学艺不精,如有错误还请前辈指出(>^ω ...
随机推荐
- 使用 circleci 自动部署 vuepress 到 github
概述 今天我想把博客什么的搬到 github 的 vuepress 上面.但是每次提交 md 文件需要手动打包然后再提交到 github 的 gh-pages,非常麻烦.所以我去研究了一下用 circ ...
- 阶段3 1.Mybatis_10.JNDI扩展知识_1 补充-JNDI概述和原理
H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\讲义+笔记+资料\主流框架\31.会员版(2.0)-就业课(2.0)-Mybatis\mybatis\mybatis_d ...
- RESR API (一)之Requests
Requests 如果您正在做基于REST的Web服务,您应该忽略request.POST. - Malcom Tredinnick,Django开发团队 REST框架的Request类扩展了标准的H ...
- ABAP基本数据类型
ABAP 程序中共包含8种基本数据类型: 数据类型名称 描述 属 性 C Character Text(字符类型) 默认长度=1,默认值=blank,最大长度无限制 N Numeric Text(数 ...
- numpy的linalg.norm()函数求范数
函数签名:def norm(x, ord=None, axis=None, keepdims=False) 其中ord参数表示求什么类型的范数,具体参见下表 下面是用代码对一个列表求上面的范数 imp ...
- Python示例-Logging
logging.ini日志配置文件内容示例: [loggers] keys=root,demo [handlers] keys=consoleHandler,timedRotatingFileHand ...
- angulart 常用
angular: 使用 echarts npm install echarts --save // 安装declare const echarts: any; // 引入https://www.ech ...
- [Web 前端] 026 jQuery 初探
目录 1. jQuery 简介 2. jQuery 的简单操作 2.1 jQuery 选择器 2.1.1 简介 2.1.2 基础选择器 2.2 过滤获取 2.3 父子关系获取 3. jQuery 元素 ...
- Javascript原型介绍
原型及原型链 原型基础概念 function Person () { this.name = 'John'; } var person = new Person(); Person.prototype ...
- OC中数组排序的3种方法
总结OC中数组排序3种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors: 大体上 ...