windows安装及配置mysql5.7解压版
1,去官网下一个zip版的mysql安装包
2,解压到自定义的安装目录
3,在安装目录下(即与bin目录同级)新建my.ini(内容如下,根据自己的情况更改目录)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=D:\mysql-5.7.26-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.26-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_allowed_packet = 16M
4,以管理员身份运行cmd并切到bin目录下(个人认为不需要配环境变量,因为装了多个mysql会有影响,平时连都是用远程工具连)
第一步,初始化(创建data目录及相关文件)
mysqld --initialize-insecure --user=mysql --console
注意:运行【mysqld --initialize-insecure --user=mysql --console】会生成无密码root用户;运行【mysqld --initialize --user=mysql --console】会生成有随机密码的root用户,密码在dos窗口的最后。这里使用无密码的方式。–initialize会创建一个随机的root账户密码,而–initialize-insecure则使用空密码,–console选项用于显示详细信息。
第二步,创建系统服务
mysqld --install mysql5.7 --defaults-file="D:\mysql-5.7.26-winx64\my.ini"
5,启动关闭mysql(服务名就是上一步指定的)
启动
net start mysql5.7
关闭
net stop mysql5.7
6,设置root密码(必须在安装数据库的那台主机登录,目前还不能远程登录)
用mysql客户端或连接工具连上mysql数据库(root账号默认密码为空)
执行
set password for root@localhost = password('123456');
7,配置远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
flush privileges;
8,常见问题
第一,安装时提示找不到MSVCR120.dll
去百度下载Visual C++ Redistributable Packages for Visual Studio 2013
的exe文件,双击执行一下就可以了
第二,导入脚本时提示2006 - MySQL server has gone away
show global variables like 'max_allowed_packet';
默认为1M
调大一点
set global max_allowed_packet=1024*1024*16;
要永久生效,配置在my.ini中,上面的配置中有
第三,执行查询时报错:Error querying database. Cause: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list
set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
要永久生效,配置在my.ini中,上面的配置中有