1. MySQL安装与介绍
数据库初识
数据库本质上就是一个基于网络通信的应用程序,分为服务端(存放数据)和客户端(提供操作数据的接口),服务端为解决多种语言的需要,可以兼容多种语言,客户端使用SQL语句实现操作的统一
数据库种类
- 关系型数据库:数据之间彼此有约束或者,存储数据的形式通常是以表格存储,包括Mysql、Oracle、db2、access、sql server等等
- 非关系型数据库:存储数据通常是以k,v键值对的形式,包括redis、mongodb(最想关系型数据库的非关系型数据库)、memcache等等
相关概念介绍
- 库:本质上就是文件夹
- 表:文件夹里面的文件
- 记录:文件内一行行的数据,一行数据叫一个记录
- 表头:表格的第一行
- 表单:就是表头下面的字段
- 字段:就是表头的内容(姓名,年龄这种)
安装与相关文件介绍
在IT领域,通常情况下,一般不会选择使用最新版本的软件,因为最新版本的软件会出现问题
目前企业用的MYSQL版本一般是5.6-5.6之间
服务端是mysqld.exe,客户端是mysql.exe文件
前期配置mysql的时候,尽量使用管理员的身份运行cmd终端
实际上mysql也是网络通信实现的,底层也是socket写的
启动
- 先切换到mysqld的bin目录下面:cd 文件目录 接着直接输入mysqld (cd是切换文件夹)
- 上面就已经安装好了,下面登录
- 客户端连接服务端完整命令:mysql -h 1207.0.0.1 -P 3306 -uroot -p (h是host,地址是本地回环地址127.0.0.1,P是端口3306,管理员用户uroot)
- 常见软件的默认端口号
MySQL 3306
redis 6379
mongodb 27017
django 8000
flask 5000
- 常见软件的默认端口号
初识SQL语句
"""
1. 首先,在MYSQL中,语句是以分号结尾的,换句话说,是以分号判断一句话是否结束
2. show databases; 查看所有的库名
3. 连接服务器的命令可以简写: mysql -uroot -p;(第一次进入mysql时,不需要填密码直接回车)
4. 当输入了错误命令,但是不想服务端执行并报错的话,可以使用撤销命令:\c
5. 客户端退出命令:
quit
exit
这两个命令加不加分号都一样
6. 连接服务端时,直接写mysql也能进入,但是此时并不是管理员权限,只是游客模式,很多权限并不完善
"""
环境变量配置和系统服务制作
"""
补充上面的知识点
1. 如何查看当前具体进程:tasklist | findstr mysqld
2. 如何杀死具体进程(必须是管理员窗口才能执行):taskkill /F /PID PID号
3. 查看当前计算机的进程:services.msc,在win+r的界面输入
4. 将mysql变成系统服务:mysqld --install
5. 移除mysql服务:mysqld --remove
6. 设置密码:mysqladmin -uroot -p原密码 password 新密码(退出mysql,该命令直接在终端上输入)例如:mysqladmin -uroot -p123 password 123456
7.
"""
'''
1. 环境变量的配置
因为每次使用mysql都要先切换到对应的目录下,太过繁琐,所以才使用环境变量,他能够将mysql所在的文件路径添加到计算机的环境变量里面,这样的话每次只输入mysql的时候系统会直接在环境变量中寻找直接进行加载,省去了切换路径的过程
2. 忘记密码的操作
你可以将mysql获取用户名和密码校验的功能看成是一个装饰器装饰在了客户端请求访问的功能上
我们如果将该装饰器移除 那么mysql服务端就不会校验用户名和密码了
真正存储用户表的密码字段 存储的肯定是密文
只有用户自己知道明文是什么 其他人都不知道 这样更加的安全
密码比对也只能比对密文
# 1 先关闭当前mysql服务端
命令行的方式启动(让mysql跳过用户名密码验证功能)
mysqld --skip-grant-tables
# 2 直接以无密码的方式连接
mysql -uroot -p 直接回车
# 3 修改当前用户的密码
update mysql.user set password=password(123456) where user='root' and host='localhost';
# 4 立刻将修改数据刷到硬盘
flush privileges;
# 5 关闭当前服务端 然后以正常校验授权表的形式启动
'''
统一编码
mysql默认的配置文件
"""
my-default.ini
ini结尾的一般都是配置文件
程序启动会先加载配置文件中的配置之后才真正的启动
"""
[mysqld] # 一旦服务端启动立刻加载下面的配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql] # 一旦客户端启动立刻加载下面的配置
...
[client] # 其他客户端
...
# 需要你自己新建一个my.ini的配置文件
# 修改配置文件后一定要重启服务才能生效
# 统一编码的配置,无需掌握,直接拷贝即可
# 将管理员的用户名和密码也添加到配置文件中
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user="root"
password=123456
default-character-set=utf8

浙公网安备 33010602011771号