mysql在windows中的安装及配置
一.前言
在IT界 一般不会轻易的使用最新版本的软件,因为新版本可能会出现各种问题
比如: 兼容问题,老版本上功能有时候没有那么快的落实到新版本中,有一个迁移的过程.特别是一些开源的软件,模块是个人维护的,什么时候颁布到软件中,要看大佬的心情
补充1: mysql 现在有很多的版本(5.x和现在最新的8.x), 但是目前企业里面用的比较多的还是5.6.xx
的版本.
补充2: 一些常见的软件的默认端口号
21端口 FTP 文件传输服务
22端口 SSH 远程连接服务
23端口 TELNET 终端仿真服务
25端口 SMTP 简单邮件传输服务
53端口 DNS 域名解析服务
80端口 HTTP 超文本传输服务
443端口 HTTPS 加密的超文本传输服务
3306端口 MYSQL 数据库端口
5000端口 FLASK服务器端口
5432端口 PostgreSQL数据库端口
6379端口 Redis 数据库端口
8000端口 django服务器端口
8080端口 TCP服务端默认端口
8888端口 Nginx服务器端口
9200端口 Elasticsearch服务器端口
27017端口 MongoDB服务器端口
二.安装
本章介绍的是安装5.6.47的版本的mysql
官方下载地址: https://www.mysql.com
第一步: 点击下载菜单按钮
第二步: 点击社区下载链接
如图所示
第三步:点击社区服务器链接
如果你要下载最新的8.0的版本:如图(安装5.6.xx)的跳过
第四步: 点击 archives 进行下载历史版本
第五步:安装5.6.47版本的windows
第六步: 下载到本地,压缩一下
第七步: 将压缩完的文件的bin文件添加到环境变量中
7.1 先进入环境变量配置
7.2 再进入到path 环境变量编辑
7.3 将刚刚我们存放的mysql下的bin的路径添加进来
7.4 一路点击确认即可添加成功
第八步: 配置服务器端
需要注意的是,配置服务器端要以管理员的身份打开dos命令窗口
8.1 通过命令开启mysql服务端
8.2 通过服务窗口
右击任务栏 打开任务管理器
8.3 配置mysql客户端的信息
8.4 客户端修改密码
8.5 配置客户端起始文件
起始文件默认在登录时就会检测X:MYSQLmysql-5.6.47-winx64文件夹下的.ini
配置文件
默认有一个ini配置模板 my-default.ini
里面的东西全部被注释了的,为了让你知道模板怎么配置
可以自己新建一个配置文件my.ini
文件内容
[mysqld] # 主题 为mysqld 服务端
character-set-server=utf8 # 字符编码
collation-server=utf8_general_ci
[client] # 主题为客户端 普通用户jzd
default-character-set=utf8
# 以下为输入用户名和密码
user="jkey"
password=""
[mysql] # 主题为客户端 root用户
default-character-set=utf8
user="root"
password="jkey123"
;参数解析
;[mysqld] -—> bin目录下的命令名
;[client] --> 所有的客户端的全局性配置, 如果登陆时[mysql]中没有指定用户名, 密码而[client] 中指定了, 以[client] 为准
;[mysql] --> mysql客户端的配置, 如果没有指定就以[client]为准
#mysql5.5以上:修改方式有所改动
目的为:统一了字符编码,防止乱码; 以后不需要指定 iP, 端口, 用户名, 密码
8.6 登录验证
为了ini配置的起始文件有效,得重启一下mysql服务端
现在可以看看配置文件是否有效
8.7 破解密码
原理: 客户端输入密码就会到服务端的配置文件中核验. 核验位置: mysql-5.6.45-winx64datamysql下的三个文件. user.frm, use.MYD, user.MYI
破解方式一: 暴力破解. 只适合用于mysql安装没多久
- 删除mysql-5.6.45-winx64data下的文件, 重新初始化一遍
破解方式二: 让服务端跳过密码权限表机制
Copy# 步凑
1、首先,关掉Mysql进程。
2、运行 mysqld --skip-grant-tables
3、打开另一个命令窗口 运行mysql即可去修改密码
4. 刷新权限. flush privileges;
5. 关闭运行 mysqld --skip-grant-tables的DOS命令行端口.
6. 以管理员方式打开cmd. 重启mysql --> net start mysql
7. 登录
9. 命令总结 + 补充命令
Copy# 1. windsows + r 键 根据你所输入的名称,为你打开相应的程序、文件夹、文档或Internet资源。
cmd # 打开DOS界面并可以输入cmd命令
services.msc # 查看系统服务
# 2. windows中管理员打开DOS界面输入cmd命令
mysqld –-install # 把数据库服务端在后头运行的系统服务(注意:需要管理员权限)
mysqld –-remove # 把数据库服务端为后台运行的服务卸载(注意:要把该程序先stop关闭)
mysqld --skip-grant-tables # 跳过mysqld服务端密码检测机制表(注意: 需要先关闭服务端, 并且开启新的DOS界面登录)
mysqladmin -uroot -p原密码 password 新密码 # 改命令直接在终端输入可无需进入客户端
mysqld --verbose –-help | findstr bind # 使用管道命令查看绑定IP用法
mysqld --bind--address=IP地址 # 绑定mysqld的IP地址
# 3. mysql客户端连接mysql服务端命令: 再cmd命令行输入以下命令
完整写法: (可以本地也可以远程)
mysql -h 服务端IP(如果是本次测试就指定127.0.0~255都行. 如果不是就指定服务端的公网IP地址) -P 3306(mysql服务端固定的熟知端口号) -u用户名 -p密码(注意: 密码的指定这里要紧跟其后, 且密码有空格还需要被双引号包裹)
缩写方式一: (本地登录. 如果没有配置my.ini文件, 默认普通用户. 如果配置了my.ini文件, 安装配置中的为准)
mysql
缩写方式二: (本地登录)
mysql -u用户 -p密码
# 4. mysql命令行命令
update mysql.user set password=password('密码') where user='roort'; # 5.6.45 MySQL版本修改密码
update mysql.user set authentication_string=password('密码') where user='roort'; # 5.7.25 MySQL版本中的mysql库下的user表中的密码字段从默认5.6.45 MySQL版本编变成了authentication_string.
update mysql.user set password_expired='N' where user='roort'; # 5.7.25 MySQL版本默认密码过期, 指定为密码不过期
flush privileges; # 刷新权限. 只要是修改了mysql库中的数据就需要指定.
G # 在MySQL的sql语句后加上G,表示将查询结果进行按列打印,可以使每个字段打印到单独的行。即将查到的结构旋转90度变成纵向;
s # 直接输入s. 查看数据库中的默认的字符编码, 版本, 当前登录用户等等信息.
c # 在MySQL的sql语句后加上c代表这条mysql语句不要了
quit 或者 exit 退出mysql
# 5. 补充: windows的cmd命令
taskkill /F /IM mysqld.exe # 指定进程名杀死该进程
taskkill /F /PID 进程pid号 # 指定进程PID杀死改进程(只有在管理员cmd窗口下才能成功)