day40

偶尔善良 提交于 2019-12-16 20:13:06

数据库相关

1.什么是数据库:数据库就是存储数据的仓库;本质是就是一套CS结构的TCP程序。

常见数据库分类

1.关系型数据库

  数据库可以为数据与数据之间建立关系。例:人是一条数据,他可能关联一个工作岗位数据。双方可以通过自身找到对方。

mysql 免费开源 支持中大型企业
    为了防止mysql被闭源 以及 担心oracle的优化能力
    创始人Widenius 另起灶炉  开发了mariaDB  mariaDB 完全兼容mysql 使用起来        一模一样     
    mysql的一生 坎坎坷坷 先后被 sun   - oracle收购
oracle 收费闭源 功能强大 分布式数据库 
SQLServer  微软生态圈 仅支持 windows系统  太局限  
DB2    IMB 开发的数据库软件 收费闭源  经常与IMB的机器绑定销售  打折啥的

2.非关系型数据库

通过key valus存储数据各个数据之间没有关系 不是通用性数据库 有局限性 通常运行在将数据存储在内存中,以提高速度,所以非关系型数据库多用于缓存,与关系型数据库搭配使用。

MongoDB
redis
memcache

总结: 我们通常说的数据库就是一套软件 有服务端和客户端 用来操作服务器端上的文件

数据库相关概念(与文件系统对应关系)

1.数据:本质上文件中某一行的一部分数据用于记录事物状态信息,可以是数字 字符 等

2.库:就是一个文件夹(数据库)

3.表:本质就是一个文件,创建表的时候其实就是在创建一个文件,存在于数据库(文件夹)目录下。

           为了降低耦合性 方便管理 都应该把把表放在不同的文件夹下

4.记录:本质上是文件中的一行数据

安装mysql

下载地址:https://dev.mysql.com/downloads/mysql/

2.mysql目录解析

"""bin             执行文件mysqld          服务器主程序mysql           无界面的客户端data            数据文件my-default.ini  配置文件模板

启动mysql服务器和客户端的方式

1.启动服务器(该方式不推荐不常用)
    1.运行CMD,通过cd 进入bin目录    
    2.执行mysqld就可以启动服务器,如果报错的话使用管理员权限来运行CMD
    这是一个socket服务器程序 这时候相当于做了一下事情:
    启动服务器socket 并监听端口 默认绑定当前ip 端口默认3306
    
启动客户端
    运行mysql 注意他是一个socket程序 要连接服务器需要ip 和 端口
    mysql  -h ip -P port -uroot -p  密码默认为空
看到欢迎界面则说明socket链接成功了

问题:们每次要使用mysql都得先cd到这个目录中非常麻烦

2.(推荐使用)

 1.添加环境变量:找到安装目录,将bin路径复制填入系统设置的path中即可

 2.作为服务器 应该自启动mysql服务器 需要制系统服务

      将mysql注册到系统服务中  mysqld --install 运行输入services 查看是是否成功

      删除服务 sc delete mysql 如果需要重装的话...

     启动服务 net start mysql

     停止服务 net stop mysql

  3.客户端连接服务端

     本质是TCP程序,必须指定ip和端口 ,如果服务器就运行在本机上 可以省略ip 如果端口没改过 也可以省略端口

      mysql -hip -P端口 -u用户名  -p密码 

 

修改管理员密码

1.#修改密码(在cmd窗口)
在知道原始密码的情况下可以使用mysqladmin
mysqladmin是一个用于管理数据库的程序,包括修改密码,数据备份等
修改密码:
    mysqladmin  -uroot -p旧密码 password 123
    警告忽略即可

#破解密码:

跳过授权表 我们可以在启动服务器时 指定让其忽略授权信息

1.先关闭mysql服务器 直接在终端执行 mysqld --skip-grant-tables(cmd窗口)

2.无密码登录root账户

3.执行更新语句

update mysql.user set password = password("123") where user="root" and host = "localhost"; (客户端;另一个cmd窗口)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!