MySQL数据库1初识MySQL

时间:2021-06-24 06:36:14

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是服务端

MySQL数据库1初识MySQL

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.如下图,在计算机的计算机管理里面手动进行启动、停止、重启服务端!MySQL数据库1初识MySQL

以上是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;