🍖Mysql简介及安装(windows平台)
一.Mysql简介
MySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一, 越来越多的企业选择使用MySQL,而放弃商用收费的Oracle
ps : MySQL有很多版本(5.6、5.7、8.0) 目前企业里面用的比较多的还是5.6(稳定版本)左右
二.常见数据库管理软件默认端口号
- MySQL : 3306 (mysqld服务端-----mysql客户端)
- redis : 6379
- mongodb : 27017
- django : 8000
- flask : 5000
- sqlserver : 3306
- oracle : 1521
三.Windows安装
1.首先进入mysql官网下载
- mysql官网 : https://www.mysql.com/
- 选择安装版本 : 5.6 左右
2.解压并添加到环境变量
3.将Mysql添加成系统服务并启动服务端
- 服务端的配置需要一管理员身份运行cmd
- 将mysqld.exe添加为服务项, 让其可以后台运行
- 移除Mysql服务
mysqld --remove
3.登入客户端mysql
-
因为是在一台机器上做实验, 客户端我们可以使用非管理员用户
-
登入的两种方式
- 指定端口IP和端口登入(mysql默认端口3306) :
mysql -h 127.0.0.1 -P 3306 -uroot -p
- 因为是在同一台机器, 我们可以省略IP和端口 :
mysql -uroot -p
- 指定端口IP和端口登入(mysql默认端口3306) :
4.修改客户端密码
- 命令 :
mysqladmin -uroot -p password [你的密码]
- 上面修改密码成功后, 我们登入的是后没有指定密码, 其实可以直接指定密码登入
5.配置客户端配置文件
- 配置目的1 : 实现字符编码的统一(不统一会乱码)
- 配置目的2 : 实现不用输入密码和用户名,直接登入
- 先进入解压的mysql文件下找到
.ini
后缀的配置文件, 默认是my-default.ini
- mysql启动时就会检测mysql-5.6.48-winx64文件夹下的
.ini
后缀名的文件, 并加载该文件配置
- 编辑内容
- ps : 注释可以有中文, 但配置不能存在中文
??";" 分号是注释的意思
; 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
; 针对客户端命令的全局配置,如果登陆时[mysql]中没有指定用户名,密码而[client] 中指定了, 以[client] 为准
[client]
default-character-set=utf8
; 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置,配置使用先自己, 自己没有再全局
[mysql]
default-character-set=utf8
; 指定你的登录用户名,下次登入时不需要指定用户名
user="root"
; 指定登录密码,下次登入时不需要登入密码(密码必须和你之前设置的密码一样,不然验证不通过)
password="123456"
ps : 5.6.38版本 没有用户名会报错 5.6.40版本 没有用户名不会报错
- 保存后改名
my.ini
, 或者在之前直接新建一个my.ini
配置文件
-
让mysql数据库可以存入emoji表情
-
创建
my.cnf
文件添加配置, 重启MySQL, 保存的表情数据就可以查看到了
; 设置数据库字符编码为utf8mb4_general_ci 设置相应表字段字符编码为utf8mb4_general_ci
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
6.重启MySQL服务,再查看结果
- 重启
- 查看mysql信息
三.密码破解
方式一 : 跳过密码授权机制更改新密码
- 步骤 :
- 先关闭mysql服务
- 设置跳过授权表:
mysqld --skip-grant-tables
- 新开一个cmd, 正常登入客户端mysql, 不需要密码
update mysql.user set password=password('123') where user='root'
设置新密码123- 使用
flush privileges
刷新权限 - 关闭之前打开的窗口重新启动mysql, 使用新密码登入
换另一个cmd进行登入并修改密码
关闭之前窗口, 重新启动服务
方式二 :
大致一样, 在第二步的时候变了一下 : 编辑my.ini
配置文件
[mysqld]
skip-grant-tables
; [mysqld]下加入这一行"跳过授权表"
后面的步骤一模一样, 有没有发现本质是一样的, 都是跳过授权表
ps: 查看错误日志 : mysqld --console
生成 data 文件 : mysqld --initialize --user=mysql --console
--end--