mysql简介/安装以及破解密码等
1.什么是数据库:
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的
过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用
数据库是长期存放在计算机内、有组织、可共享的数据即可。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种 用户共享
2.问题
1.管理不方便 2.文件操作效率问题 3.一个程序不太可能仅运行在同一台电脑上
3.提高计算机性能的方式
1.垂直扩展 指的是更换性能更好的硬件 2.水平扩展 指的就是添加更多的计算机 把任务分配给每一台 (分布式计算) 分布式计算 的好处 1.其中某一台挂了 不会导致整个系统瘫痪 稳定性高 2.理论上性能可以无限扩展
分布式计算其实也是整体 数据需要被共享 这就需要socket技术 共享就存在竞争问题 加锁处理 文件存取效率问题 数据库 本质上就是一套软件 由服务器端 和 客户端组成 C/S B/S 早些年 没有数据库的时候 程序员要想实现功能 得自己写一套socket 并解决上述问题 于是就有了数据库软件公司
目前常见的数据库
1.关系型数据库( 数据与数据之间可以建立关联关系(用户数据和购买信息)):
SQLServer :仅支持windows
MySQL
免费 开源 性能也不差 mysql 先后被sun 和 oracle收购
mariaDB mysql的创始人 担忧mysql的未来 于是推出mariaDB 使用起来完全一致
Oracle:目前最牛逼的数据库 收费很高
DB2:IMB 收费的 一般与计算机绑定销售
2.非关系型数据库(速度贼快, key value 存取)
MongoDB
redis
memcache
数据库相关概念
1.什么是数据
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机
在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容
2.表 就是一个一个的文件
3.库 就是一个文件夹
4.数据库管理系统(DBMS) 就是一个软件用来管理库的 C/S程序
5.数据库服务器 运行着DBMS的计算机称为数据库服务器
MySQL的安装:
服务端:
在cmd命令行下:cd /d D:\mysql-5.6.41-winx64\bin D:\mysql-5.6.41-winx64\bin>mysqld 在管理员cmd命令行中:net start mysql 启动服务端 net stop mysql 关闭服务端
客户端:
在cmd命令行下:cd /d D:\mysql-5.6.41-winx64\bin mysql -uroot -padmin 用mysql自带的客户端登录服务器 -u 用户名 -p 密码 -h 服务器的ip -P端口号 在本机上执行客户端不需要指的 -h -P
由于每次启动服务端和客户端都需要cd到对应目录,很麻烦,所以我们将文件路径添加到环境变量
第一步:

第二步:

完成之后

将mysql服务端注册成为系统服务:
在管理员命令行中:mysqld --install

登陆MySQL客户端需要:
mysql -uroot -p
使用默认账户root登陆,密码为空.如果不加root用户也可以进去,但是权限不同
修改用户登陆密码:
mysqladmin -uroot -p password 123456
-p后跟旧密码
password后跟新密码
破解密码:
1.删除存储密码的文件(不到万不得已,千万不要这样干)
2.在管理员命令行中 :
1.mysqld --skip-grant-tables
所有用户都可以不需要用户名密码登陆,权限相同
2.使用update来更新密码 密码都存放在mysql.user表中
在客户端:update mysql.user set password =password('admin') where user='root' and host='localhost'
之后密码就变为:admin
3.重启服务器,登陆密码变为新密码
数据库设置连接权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
安装mysql得到两个程序
1.服务器程序
存取数据时服务器的工作
2.客户端程序
命令服务器来完成存取工作
客户端将命令发送给服务器 服务器解析执行命令 返回客户端要的数据
注意:在服务器上执行命令时 如果看到Install/Remove of the Service Denied! 说明权限不够, 得用管理员身份运行
常见sql命令
show databases;
查看所有数据库名称
use 数据库名称
选择某个数据库 就是进入文件夹
quit or exit 退出客户端

浙公网安备 33010602011771号