一、环境准备
在Window中安装Mysql,需要先安装Visual C++ Redistributable Packages for Visual Studio 2013,否则报错“缺少MSVCR120.dll文件”。
在官网下载进行安装,https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe
二、安装步骤
1、下载Mysql
下载mysql-5.7.24-winx64,https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-winx64.zip。
2、安装Mysql
将下载的包解压到指定的路径,这里的ZIP Archive是免安装的,解压即可。我的解压路径为:D:\softwares\mysql-5.7.24-winx64。添加环境变量MYSQL_HOME,设置为上面的解压路径,并在Path中添加%MYSQL_HOME%\bin。
3、准备Mysql配置文件
在Mysql的安装目录下新建my.ini文件,内容如下:(路径根据自身情况进行修改,注意路径中的“\\”,也可使用‘/’,不建议使用“\”,可能会报错)
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\softwares\\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\softwares\\mysql-5.7.24-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
4、将Mysql添加到Windows服务
使用管理员身份打开命令提示符,点击开始,然后输入cmd,鼠标右击cmd,选择以管理员身份运行。
在命令行中切换目录至mysql包所在的bin目录,然后输入:
mysqld.exe --install
显示“Service successfully installed.”表示安装成功。
5、初始化Mysql数据
在命令行中输入以下命令:
mysqld --initialize-insecure --user=mysql
执行命令后,检查是否生成相应的data目录。此时表示初始化成功。
6、启动Mysql服务
在命令行中输入以下命令,启动mysql服务:
net start mysql
执行后,提示:
MySQL服务正在启动..
MySQL服务已经启动成功。
表示服务已正常启动。
三、验证
1、登录Mysql
mysql -u root -p
此时的密码为空,所以直接回车进入。
2、设置密码
依次执行命令如下(设置密码为lq1234):
use mysql;
update user set authentication_string="123456";
exit;
3、重启mysql
net stop mysql
net start mysql
4、使用密码登录mysql
mysql -u root -p
输入密码结果报错“ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server”,这是因为没有给root账户授权,而授权需要登录到数据库。
解决方案:
(1)在my.ini 文件里[mysqld]下面添加一句:skip-grant-tables,即数据库启动的时候跳过权限表的限制,不用验证密码,直接登录。
(2)重启mysql
net stop mysql
net start mysql
(3)登录mysql
mysql -u root
(4)为root账号授权
grant all privileges on *.* to root@'localhost' identified by "lq1234";
报错“ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement”,先执行“flush privileges;”即可。
flush privileges;
grant all privileges on *.* to root@'localhost' identified by "lq1234";
(5)删除my.ini中的“skip-grant-tables”
(6)重启mysql
net stop mysql
net start mysql
(7)使用密码登录mysql
mysql -u root -p
输入密码,此时可正常登录。