MySQL是常用数据库,笔者目前使用的版本是5.7.27,在Windows中安装一般都是使用绿色版的,在这里记录一下使用说明。
Windows
下载
- 访问MySQL下载网站:https://www.mysql.com/downloads/
- 选DOWNLOADS>MySQL Community (GPL) Downloads(下载MySQL社区版)
- 选Download Archives(下载档案)
- 选MySQL Community Server(MySQL社区服务器)
- 选择MySQL版本,操作系统,操作系统版本,这里有很多版本和对应操作系统的下载文件,可以多看看,根据自己要安装主机的配置来选择。点击下载浏览器会弹出下载对话框,确认后就可以下载了。
- 下载完毕后得到一个zip的压缩包(mysql-5.7.27-winx64.zip)。
安装
MySQL安装有的是使用安装文件安装,笔者这里记录压缩包的安装方式。
- 将MySQL压缩包mysql-5.7.27-winx64.zip解压到安装目录,笔者使用D:\Program Files。
- 配置MySQL的环境变量。环境变量加到系统Path中是记得使用分号(;)隔开。
- 在安装目录中新建my.ini文件。
- 编辑my.ini文件,配置MySQL的一些属性。
- basedir指向你解压的目录;
- datadir指向解压目录下的 data 目录,用来存放你的数据文件。这个目录目前还没有,先这样配置着,下文中会有的。
- 其他的一些属性就是常用的MySQL属性,没有特殊的使用场景就这样写。
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir="D:\Program Files\mysql-5.7.27-winx64"
datadir="D:\Program Files\mysql-5.7.27-winx64\data"
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
- 使用管理员运行一个命令窗口,移动到安装目录的bin目录()下,执行命令:
在执行这个命令时可能会出现缺少文件(msvcp120.dll,msvcr120.dll)的错误,一般几年前的系统主机就会出现这错误,如果出现这个错误就在其他已经安装了MySQL的主机上C:\Windows\System32和C:\Windows\SysWOW64文件夹中分别找到这2个文件,拷贝到要安装MySQL的主机对应的目录中。
mysqld --initialize-insecure --user=mysql
会在上文中配置的 data 目录中生成一些基础数据。
- 继续在命令行中执行命令:
mysqld --install
安装MySQL服务
- 在Windows服务中启动MySQL服务。
- 在命令行中执行命令:
mysql -u root -p
使用root用户登录MySQL,提示输入密码是直接回车,不需要密码就可以登录。
- 查看MySQL中的字符集:
show variables like '%character%';
show variables like 'collation%';
如果是这样的,那就说明上文中配置文件中的内容生效了,我们可以正常使用。
- 修改MySQL密码。上文中我们登录MySQL时没有输入密码,因为初始化是没有密码的,但是通常情况下我们都需要有一个密码,所以在这里修改root用户的密码。
注意:在MySQL以往的版本中user表中有password字段,改密码是修改password字段的值,但是在5.7中找不到password字段,使用原来的方式修改会出现错误,所以要使用以下方式。
use mysql;
update user set authentication_string=password('root') where user='root';
执行命令结果如上图所示就说明修改密码成功。
重新启动MySQL,再次登录MySQL,如果不输入密码是登录不上去的,需要使用上文中修改的密码才可以。
配置远程访问
当我们需要通过外部主机连接服务器的MySQL数据库时,很多时候会出现不允许远程连接的错误:
这个是MySQL的安全机制,不允许远程连接我的数据库。但是有时候我们需要这样做,调试会方便些。所以需要配置MySQL允许远程连接。
执行命令查看MySQL用户的连接权限:
select host, user from user;
看到root用户的host属性时localhost,说明root用户只能在本机登录。所以在外部主机中连接本机的MySQL会出现错误。如果想要本机的MySQL允许远程连接,可以将host属性改成百分号(%),百分号是个通配符,表示允许任何地方连接。修改的话可以执行命令:
update user set host='%' where user='root';
`笔者不建议你这样做。``