前言
今天安装mysql数据库,进入mysql官网,对于windows来说有两个版本的文件可下载,一是.msi安装文件,二是.biz压缩包。以前一直用安装文件进行安装,百试不爽。今天突然不想用安装文件了,是时候用压缩包进行安装了。于是下载了压缩包,搜索了些安装教程,安装起来的mysql服务总是报错,再找教程,还是启动不了服务……
于是,我不相信百度了。进入mysql官网,找到mysql5.7的文档:http://dev.mysql.com/doc/refman/5.7/en/installing.html,一步一步来,终于成功了。
下载mysql
- 进入官网:https://www.mysql.com/
- 单击【Downloads】选项卡
- 最下面有个【
MySQL Community Edition
- (GPL)】,单击【Community (GPL) Downloads »】
- 单击【MySQL Community Server (GPL)】下的【DOWNLOAD】
- https://dev.mysql.com/downloads/mysql/ 选择要下载的版本
- 在弹出的页面上下载【Windows (x86, 64-bit), ZIP Archive】
安装mysql
压缩包相当于免安装文件,要想使用它,需要配置正确,并通过服务来启动数据库服务。
1.把压缩包解压到你喜欢的位置
本示例解压到:D:\mysql-5.7.13-winx64,文件夹下
2.创建my.ini文件,内容如下:
[plain]
[mysqld]
port=3306
basedir ="D:\\mysql-5.7.13-winx64\\"
datadir ="F:\\mysqlData\\"
max_allowed_packet = 32M
skip-grant-tables
注意,basedir和datadir是必须要配置的,basedir就是你解压的目录。官方文档上说,如果你喜欢用反斜杠,则要用双反斜杠,斜杠的话就不用这样。即:D:\\mysql-5.7.13-winx64\\ 或:D:/mysql-5.7.13-winx64/
由于本人喜欢把数据库的数据文件独立出来,所以就把datadir配置到其它地方,方便管理。另外,创建该目录。
注意:
skip-grant-tables 是为了设置免密登陆。 登陆之后进去设置数据库密码了,将skip-grant-tables删除,重启服务。
basedir 不能将basedir不是设置使用用data文件,用一个其他的不容易和系统起冲突的文件夹。
比如 datadir ="F:\\mysqlData\\" (自定义路径)
3.配置环境变量
- 添加一个名叫 MYSQL_HOME 的变量。
- 修改Path变量,在末尾添加 %MYSQL_HOME%\bin。
- 注意:设置好环境变量后,缺少运行库:vcredist_x64.exe 缺少msvcp120.dll ,所以要去下载运行库,在https://www.microsoft.com/en-us/search/result.aspx?q= 搜索Visual Studio 2013 ,找到
visual studio 2013 download,并找到
Update for Microsoft Visual Studio 2013 Update 4 (KB3023304),里面有正版的运行库,下载安装即可。
4.安装mysql服务
- 以管理员身份运行cmd,进入mysql的bin目录。
- 初始化数据库文件
[plain] mysqld --initialize
初始化成功后,会在datadir目录下生成一些文件,其中,xxx.err文件里说明了root账户的临时密码。那行大概长这样:
[plain] 2016-07-24T05:19:20.152135Z 1 [Note] A temporary password is generated for root@localhost: bL2uuwuf0H(X
即密码是:bL2uuwuf0H(X
- 注册mysql服务
[html]
- mysqld -install MySQL
- 启动mysql服务
[plain]
- net start MySQL
- 修改root密码
输入以下命令,回车,然后输入上面的默认密码:
[sql]
- mysql -u root -p
进入MySQL命令行模式后,输入如下命令,命令中的 new_password 为root账号的新密码,请修改它。
[sql]
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
安装完成后:
命令行进入数据库,发现不可用,需要你设置密码:
此时需要执行三句话:
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
执行完成之后,quit,重新登陆即可
5.安装过程中遇到的常见问题:
1.mysql密码过期
产生原因,是因为使用的安装的时候给定的初始密码过期了,在此我们要自己设置密码。
处理方法:
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
2.忘记密码
在my.ini下添加skip-grant-tables ,这样就可以免密登陆。 直接在在命令行中使用mysql回车就行了。
。
再在里面设置密码:
update mysql.user set authentication_string=password('你想输入的密码') where user='root'; (针对mysql5.7版本)
最后将my.ini中的skip-grant-tables删除,重启服务(net stop mysql , net start mysql (windows下不能使用net restart mysql命令)),则更改密码成功。