windows安装及配置mysql5.7
引子
mysql官方网站上没有 windows mysql5.7 64位版本msi的安装包下载,我们可以通过zip版本解压缩后手动安装配置环境。
msi安装的话有32位的,基本上就是看着图形界面来一步步操作,没有技术含量,不在此阐述。
另外截至2018年6月份,mysql 8.0.11版本己经发布,不过大部分公司目前还是在使用mysql5.x版本的吧。有兴趣的话可以提前学习一下8.0.11版本的。
不过最推荐的还是mysql被oracle收购后,使用其分支MariaDB。
环境和注意事项
- win7及以上操作系统
- MySQL5.7.22 zip格式安装包
- 5.7版本和之前的不一样:
- 文件夹中没有DATA目录
- 没有mysql默认库
- 没有默认的my.ini或参考的my-default.ini
- 那是因为它的初始化方法和之前的不一样了
- Windows的路径使用了反斜杠(\),因此,配置中使用时尽量合乎规范将反斜杠改为双反斜杠(\)或直接使用斜杠(/)。(也有直接使用\而不受影响的)
下载
下载mysql5.7.22 zip安装包
根据电脑配置选择32/64位版本
将下载回来的mysql压缩包解压至适当路径,也就是你打算以后使用的工作目录
配置环境变量
配置环境变量:控制面板->系统和安全->系统->高级系统设置-环境变量-找到Path变量-点击编辑
如图,将你自己所定的工作目录,包含bin的路径填进去,例如我的就是
E:\mysql\bin,注意和其它变量值以英文的分号;分隔开。

配置好环境变量是为了方便我们不用每次都进入到mysql的目录下执行。接下来是配置my.ini文件,是为了一些自定义设置。
下载回来的根目录下没有my-default.ini 文件,需要直接在mysql文件夹下新建文本文档,重命名为my.ini,my.ini配置内容如下:
[mysqld]
# 服务端配置
# 设置mysql的工作目录,安装包解压后的路径
basedir=E:\\mysql
# 数据存放目录data,需要自行新建
# 也可以使用mysqld --initialize-insecure 命令后也会自动在根目录中生成data目录
datadir=E:\\mysql\data
# 默认连接端口3306,正式环境一般都会修改
port=3306
# 设置mysql默认字符集为utf-8
character-set-server=utf8
[client]
# 客户端配置
default-character-set=utf8
#设置mysql默认字符集为utf-8
初始化mysql
在mysql根目录下新建data空文件夹。(也可不见而等初始化命令自动建)
以管理员身份运行cmd命令
mysql初始化
- 输入cd 对应mysql\bin目录,例如我的是E:\mysql\bin,进入bin目录下
- 输入mysqld --initialize(初始化)
- 或mysqld --initialize-insecure(不安全的选项)
- 两者取决于你是否希望服务器生成一个拥有随机初始密码的
root@localhost的账户。后者直接是空密码创建。 - 为了能够方便查看初始化过程中的信息,可以追加
--console参数使mysqld将输出信息写到控制台。 - 一般linux系统才需要追加
--user=mysql之类来指定用户(事先设好读写权限) - 例,如图:

- 记下最后一行产生的随机密码。
安装(到windwos)服务
同样在管理员权限的cmd中操作,安装成服务更便利开机启动。
输入
mysqld --install成功会如图显示
Servers Successfully installed

若需要指定配置文件(mysql多实例的)则可以在
--install后面跟自定义的服务名和--defaults-file选项来指定配置文件。
mysqld --install MySQL --defaults-file=E:\mysql\my.ini
上述命令可以在安装时指定服务名为MySQL以及指定配置文件路径,需要注意的是:--install必须是第一个参数, 且服务名(若需指定的话)必须紧跟其后。如果不想让MySQL服务每次开机都自动启动,可以使用
--install-manual参数代替--install参数。
控制台下输入
net start mysql启动mysql服务。在windows的控制面板,服务界面下也能查看到mysql服务。

- 卸载mysql服务使用的命令是
mysqld --remove - 正常退出和关闭mysql服务使用
net stop mysql

- 也有使用mysqladmin自带的管理工具来关闭的,前提是进入到bin目录下运行:
mysqladmin -u root -p shutdown
例如我的是E:\mysql\bin>mysqladmin -u root -p shutdown
- 卸载mysql服务使用的命令是
linux中我们有命令来查看进程号和杀死进程,windows中也有,查看相关进程号使用的是
tasklist | findstr mysql- 杀死进程(不推荐)的是
taskkill /F /PID 进程号

- 杀死进程(不推荐)的是
错误日志:如果 mysqld 没能启动成功,则可以查看
error log文件,该文件在配置文件中指定的 datadir 目录中,后缀名.err。error log文件是可以通过--log-error参数指定的,另外,如果想让 mysqld 将错误日志输出到控制台,可以使用--console参数。
登录和重设密码
启动mysql服务,登录连接到mysql服务器。
mysql -uroot -p输入前面记下的随机密码登入。

- 若之前你使用
--initialize-insecure参数初始化,则使用如下命令来连接MySQL:|
mysql -uroot --skip-password或同样使用mysql -uroot -p在提示输入密码时直接回车即可进入。
mysql5.7强制你无论做何操作都要先将随机密码重设成自己定义的密码。
一般第一次可用mysqladmin方式重设root密码,如图:
mysqladmin -uroot -p password

重新正常登录数据库后,也可直接在mysql内直接修改用户权限或user表方式修改密码。
- 例:
mysql> update mysql.user set authentication_string=password('') where User="root " and host="localhost"; - 5.7以前的版本是使用
password字段保存密码的,5.7改成了authentication_string,不容易记忆。 - 修改密码后需要输入
flush privileges;命令来刷新生效。 - 由于
authentication_string不太容易记忆,也有直接改权限的,例:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'

- 同样
flush privileges;命令来刷新权限即生效。
- 例:
强制跳过密码登录
适用于忘记密码或个人学习使用并不想每次连接输入密码,但后者可以设置密码为空,所以此情景主要还是用在忘记密码了,需要跳过密码来登录后重设密码的情景。
第一种,临时跳过密码。
- 执行
mysqld --skip_grant_tables启动服务 - 注意此时应再开多一个cmd窗口来作为客户端连接服务端,登录的时候直接回车无需密码。
- 然后就是重设密码了。设置成功后记得停止mysqld服务,重新启动正常需密码的服务。
- 执行
第二种,需长期跳过密码(所有用户都不用密码即可连接)。
- 在配置文件,my.ini中的
[mysqld]下添加一行
skip_grant_tables表示跳过权限表。 - 再执行mysql服务启动,就是无权限管理的连接了。极不安全,只适用于个人测试或学习环境。
- 此配置一成功后,客户端连接mysql只需敲mysql就直接进mysql了。如图:

- 在配置文件,my.ini中的
注意,skip_grant_tables 中间间隔是下划线。
设置友好提示符
连接上去,使用的时候,你会发觉MySQL 客户端的默认提示符是 "mysql>",基本上没什么实际作用。
修改这个提示符,让它显示一些有用的信息,例如当前所在的数据库等。
修改方法有四种,其中前两种只对当前连接有效,后两种则对所有连接有效。
- 1、连接客户端时通过参数指定。
mysql --prompt="(\u@\h) [\d]> "
这样提示符就会变成(user@host) [database]>
其中常用的字符参数有:
\D 完整的日期
\d 当前数据库
\h 服务器地址
\u 用户名
- 2、连接上客户端后,通过 prompt命令
PROMPT (\u@\h) [\d]>修改。
例:
mysql> PROMPT (\u@\h)[\d]>
PROMPT set to '(\u@\h)[\d]>'
- 3、在 MySQL 的配置文件中配置。
[mysql]
prompt=\\u@\\h [\\d]>\\
- 4、通过环境变量配置。
export MYSQL_PS1="\u@\h [\d]> "
【end】
windows安装及配置mysql5.7的更多相关文章
- Centos7安装并配置mysql5.6完美教程
Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...
- Meld Diff for windows 安装和配置
Meld Diff for windows 安装和配置 假设你在ubuntu 正在开发中, meld diff 此工具你肯定不会感到陌生. 而且很容易使用. 在网上看 meld for Windows ...
- windows安装并配置 nginx
1,windows安装并配置 nginx 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html: 下载并压缩放到自己目录下面,不要有中文目录 进入cm ...
- Windows 安装和配置 WSL
Windows 安装和配置 WSL 什么是 WSL 引用百度百科的一段话: Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二 ...
- CentOS7 安装和配置 mysql5.7
1.下载 mysql源安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2.安装mysql源 ...
- 怎样在本地windows安装和配置zookeeper
Zookeeper是什么?有什么用? Zookeeper是一个分布式协调服务. 作用:为用户的分布式应用程序提供协调服务. zookeeper在底层其实只提供了两个功能: 1.管理(存储,读取)用户 ...
- windows安装和配置JDK
安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0) ...
- 【安装mysql】windows安装压缩版mysql5.7.15
160915.1459 综述 中午安装成功,但是启动失败,很可能是压缩包有问题(从别人拷的),解决了近一个小时,没搞定,于是换条方案,重新去官网下载压缩包,这次看准了windows架构,且64-b ...
- Windows 安装并配置 MySQL 5.6
Windows 下安装 MySQL 有两种方式,一种是下载安装包,根据提示一路 next 安装,不需要什么配置,比较简单:另一种是下载压缩包,通过命令和配置来安装,也不难,个人感觉更简单.本篇就采用第 ...
随机推荐
- sql典例分析
1. 条件过滤 & Having 表结构 #tab_a #tab_b 表关系 tab_a.id = tab_b.relation_id 表数据 需求 查新把tab_a的ID对应的表tab_b的 ...
- Hive学习之Locking
众所周知,数据库必须要能够支持并发.无论在任何时候,允许同一时刻,多个用户能够同时读取或写入.没有必要给用户提供API显示的获取锁,所以所有的锁都是隐式获取的. 在Hive中有两种类型的锁: 共享锁S ...
- Deep Q-Network 学习笔记(三)—— 改进①:nature dqn
由于 Q 值与 next Q 使用同一个网络时,是在一边更新一边学习,会不稳定. 所以,这个算法其实就是将神经网络拆分成 2 个,一个 Q 网络,用于同步更新 Q 值,另一个是 target 网络,用 ...
- vb.net的String类型和Bytes转换(C#也适用)
1.Bytes---->StringSystem.Text.Encoding.Unicode.GetString(bytes, 0, bytes.Length) 2.String----> ...
- 钉钉微应用接入钉钉免登陆配置记录。NET实现
在这里记录一下我配置的钉钉接入微应用遇到的坑.搞了我几天天才调通.头皮发麻,现在梳理一下,以免别人也入坑. 1.钉钉接入主要要获取钉钉企业员工的ID,然后去自己的应用的数据库里进行匹配然后实现免登陆的 ...
- [javaSE] 基本类型(String相关)
字符串是一个特殊的对象 字符串一旦初始化就不可以被改变 获取字符串的长度 调用String对象的length()方法,返回int长度 获取某个索引位置的字符 调用String对象的charAt()方法 ...
- 【基于初学者的SSH】struts02 数据封装的三种方式详解
struts的数据封装共有3中方式,属性封装,模型驱动封装和表达式封装,其中表达式封装为常用 一:属性封装: 属性封装其实就是自己定义变量,注意变量名要和表单的name属性名一致,然后生成get和se ...
- 查看Windows日志
之前,在Windows服务管理器中启动WCF服务时,出现“本地计算机上的XXX服务启动后停止.某些服务在未由其它服务或程序使用时将自动停止.”问题,最后通过查看Windows日志中的详细信息才得以解决 ...
- vue.js 项目打包
vuejs是个前端框架,npm run dev的目的在于前端开发的时候可以实时调试.所以npm run dev 只是开发时期会用到,在生产环境中我们应该使用nginx,apahce tomcat等应用 ...
- js-权威指南学习笔记7
第七章 数组 1.数组直接量的语法允许有可选的结尾的逗号,所以[ , , ]只有两个元素而非三个. 2.调用构造函数Array()创建数组时,传入一个参数时表示指定数组的长度. 3.所有的索引都是属性 ...