共计 2180 个字符,预计需要花费 6 分钟才能阅读完成。
一.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
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--