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的更多相关文章

  1. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

    1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...

  2. 重新学习MySQL数据库10:MySQL里的那些日志们

    重新学习MySQL数据库10:MySQL里的那些日志们 同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志, ...

  3. 重新学习MySQL数据库8:MySQL的事务隔离级别实战

    重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read unco ...

  4. 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

    重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...

  5. 重新学习MySQL数据库4:Mysql索引实现原理

    重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一.简介 MySQL目前主 ...

  6. 初识数据库、初识MySQL

    一.为什么要用数据库 # 1.将文件和程序存在一台机器上是很不合理的. # 2.操作文件是一件很麻烦的事. 所以就出现了一个新的概念 —— 数据库 你可以理解为 数据库 是一个可以在一台机器上独立工作 ...

  7. MySQL数据库2 - 登录MySQL及数据库管理

    一. 登录数据库 1.使用命令窗口登录MySQL 启动Mysql服务 -> 打开命令窗口 -> 输入登录密码 具体步骤:开始菜单 - 控制面板 - 管理工具 - 服务 - Mysql56( ...

  8. mysql 数据库问题com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

    本文转自:http://blog.csdn.net/zmzsoftware/article/details/6835604 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc ...

  9. c++连接mysql数据库(使用mysql api方式,环境VS2013+MYSQL5.6)

    转载请注明出处,原文地址http://www.cnblogs.com/zenki-kong/p/4382657.html 刚开始写博客,博主还只是个大三汪,学艺不精,如有错误还请前辈指出(>^ω ...

随机推荐

  1. 【python】集合 list差集|并集|交集

    两个list差集 list(set(b).difference(set(a))) # b中有而a中没有的 示例: a=[1,2,3] b=[2,3] list(set(a).difference(se ...

  2. redis管道pipeline

    Jedis jedis = new Jedis("127.0.0.1",6379); Pipeline pipeline = jedis.pipelined(); for(int ...

  3. 你知道 Git 是如何做版本控制的吗?(转)

    总结:阅读这篇文章需要20分钟 本文是转载自 滴滴WebApp架构组 的一篇文章,文章讲解了神秘的.git目录下的一些文件,最终阐述了git是如何存储数据,及git分支的相关内容. git如何存储数据 ...

  4. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_04.mybatis概述

  5. python学习笔记:(六)str(字符串)常用方法

    注意点: 1.字符串是不可变的: 2.%格式化操作符:左侧放置字符串,右侧放置希望被格式化的值. 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应 ...

  6. shell脚本批量开启防火墙端口

    # 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed ...

  7. 6.824 Lab 2: Raft 2B

    Part 2B We want Raft to keep a consistent, replicated log of operations. A call to Start() at the le ...

  8. suitecrm配置(nginx设置)

    suitecrm配置在nginx下的一些设置 server { listen 88; server_name 192.168.2.253; #charset koi8-r; #access_log / ...

  9. 操作系统安全 - 提权 - Windows提权 - 汇总

    CVE_2019-1388 Date: -- 影响范围: SERVER ====== Windows 2008r2 ** link OPENED AS SYSTEM ** Windows 2012r2 ...

  10. 【Linux开发】如何在./configure的时候将编译参数传入,改变默认的编译器gcc成arm-linux-gcc

    如何在configure时,将编译参数传入,改变默认的编译器gcc成arm-linux-gcc [问题] 想要用交叉编译工具arm-linux-gcc去编译lrzsz, 但是在./configure的 ...