🍖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官网下载

image-20210129084801371

image-20210129084925914

image-20210129085033982

image-20210129085549265

2.解压并添加到环境变量

image-20210129085651014

image-20210129085820953

image-20210129090254488

3.将Mysql添加成系统服务并启动服务端

  • 服务端的配置需要一管理员身份运行cmd

image-20210129090713127

  • 将mysqld.exe添加为服务项, 让其可以后台运行

image-20210129091433086

  • 移除Mysql服务
mysqld --remove

如果服务启动失败, 检查是否有 data 目录(bin同级) & my.ini(或者default.ini)文件, 没有则新建

3.登入客户端mysql

  • 因为是在一台机器上做实验, 客户端我们可以使用非管理员用户

  • 登入的两种方式

    • 指定端口IP和端口登入(mysql默认端口3306) : mysql -h 127.0.0.1 -P 3306 -uroot -p
    • 因为是在同一台机器, 我们可以省略IP和端口 : mysql -uroot -p

image-20210129092202934

image-20210129092410482

4.修改客户端密码

  • 命令 : mysqladmin -uroot -p password [你的密码]

image-20210129093019227

  • 上面修改密码成功后, 我们登入的是后没有指定密码, 其实可以直接指定密码登入

image-20210129093257177

5.配置客户端配置文件

  • 配置目的1 : 实现字符编码的统一(不统一会乱码)

image-20210129104521166

  • 配置目的2 : 实现不用输入密码和用户名,直接登入

image-20210129130419020

  • 先进入解压的mysql文件下找到.ini后缀的配置文件, 默认是my-default.ini
  • mysql启动时就会检测mysql-5.6.48-winx64文件夹下的.ini后缀名的文件, 并加载该文件配置

image-20210129105027119

  • 编辑内容
  • 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配置文件

image-20210129110431165

  • 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

image-20210129130304225

6.重启MySQL服务,再查看结果

  • 重启

image-20210129130706156

  • 查看mysql信息

image-20210129130855724

三.密码破解

方式一 : 跳过密码授权机制更改新密码

  • 步骤 :
    1. 先关闭mysql服务
    2. 设置跳过授权表: mysqld --skip-grant-tables
    3. 新开一个cmd, 正常登入客户端mysql, 不需要密码
    4. update mysql.user set password=password('123') where user='root' 设置新密码123
    5. 使用flush privileges刷新权限
    6. 关闭之前打开的窗口重新启动mysql, 使用新密码登入

image-20210129171142355

换另一个cmd进行登入并修改密码

image-20210129171431030

关闭之前窗口, 重新启动服务

image-20210129171713251

方式二 :

大致一样, 在第二步的时候变了一下 : 编辑my.ini配置文件

[mysqld]
skip-grant-tables
; [mysqld]下加入这一行"跳过授权表"

后面的步骤一模一样, 有没有发现本质是一样的, 都是跳过授权表

ps: 查看错误日志 : mysqld --console

生成 data 文件 : mysqld --initialize --user=mysql --console
--end--

posted @ 2021-01-29 17:37  给你骨质唱疏松  阅读(248)  评论(0编辑  收藏  举报