1:
我使用的是ZIP的安装包,从官网下载之后,解压缩到想安装的路径下,例如F:\MySQL\,生成的文件夹如下图,其中data和my.ini两个是自己手动创建的,
2:
建立空文件夹data,建立空文件my.ini,然后按如下配置修改my.ini,注意修改其中的路径。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\MySQL\mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\MySQL\mysql-5.7.20-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#禁止域名解析
#skip-name-resolve
#跳过密码验证
#skip-grant-tables
3:
在开始-所有程序-附近-命令提示符处右键点击,使用管理员身份启动,此处据说若不是管理员后面会报错。使用cd命令进入bin目录,例如:
C:\Users\Administrator>F:
F:\>CD F:\MySQL\mysql-5.7.20-winx64\bin
F:\MySQL\mysql-5.7.20-winx64\bin>
然后安装MySQL服务:
F:\MySQL\mysql-5.7.20-winx64\bin>mysqld install
Service successfully installed.
然后初始化,mysqld –initialize-insecure自动生成无密码的root用户,mysqld –initialize是自动生成随机密码用户:
F:\MySQL\mysql-5.7.20-winx64\bin>mysqld --initialize //自动生成随机密码的(root)用户
F:\MySQL\mysql-5.7.20-winx64\bin>mysqld --initialize-insecure //自动生成无密码的(root)用户;
4:
登录MySQL:
F:\MySQL\mysql-5.7.20-winx64\bin>mysql -uroot //无密码时
F:\MySQL\mysql-5.7.20-winx64\bin>mysql -uroot -p123 //密码是123时
mysqld install
net start mysql
net close mysql
mysqld remove
在my.ini文件中设置skip-grant-tables,即可不验证密码登录
安装后,数据库中有一个叫做mysql的数据库,里面存了用户表(user),所以当需要查看用户表时,需要先进入该数据库,通过命令:
use mysql;
select * from user;
或
select user();
在5.7版本之前,密码用的是password字段名;在5.7版本之后,密码用的是authentication_string字段名,因此修改密码时要注意当前使用的版本。设置完之后注意“刷新权限”:
update user set authentication_string=password('root') where user='root' ;
flush privileges;
当未设置环境变量时,若不进入mysql的bin目录而直接在cmd中使用mysql会报错,如下图:
此时需要将mysql的bin目录加入到环境命令变量中
右键计算机-属性-高级系统设置-高级-环境变量,编辑下半部分“系统变量”中的“path”变量,将mysql的bin目录路径加入到变量的最后,注意加分号,然后不断点击确定返回即可。
下图中的host ‘::1’是‘127.0.0.1’的缩写,也就是本地连接不上
此时在my.ini文件中设置skip-grant-tables,即可不验证密码登录。登陆后查看数据库名称为mysql的user表中的host及密码字段(authentication_string),看看哪里出了问题,然后进行相应的修改。
还没遇到,等遇到再说,目前可参考http://blog.csdn.net/jrn1012/article/details/53231244和http://blog.csdn.net/ei__nino/article/details/25069391
该错误说明用户名或密码不正确,此时可按照下述步骤重置密码,具体命令看上文:
1:关闭mysql服务;
2:修改my.ini文件,跳过密码验证;
3:启动mysql服务;
4:使用root用户登录,并修改mysql数据库中的user表,重置相应用户的密码;
5:退出登录并关闭mysql服务;
6:修改my.ini文件,启动密码验证;
7:启动mysql服务
此时可以使用新设置的密码登录数据库。
在以前的使用的驱动路径是
com.mysql.jdbc.Driver
在5.7.X+版本中使用上述路径会发出警告,并被自动替换为新版路径,新版路径为:
com.mysql.cj.jdbc.Driver
在5.7.X+版本中若不设置时区会报错,因此在写URL时需要设置时区如下(中国时区需要写成Asia/Shanghai)
jdbc:mysql://127.0.0.1:30002/smssvr?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8
其他时区可以参考http://blog.csdn.net/qq631431929/article/details/51731834
在5.7.X+版本中默认开启SSL,所以若是不配置SSL会发出警告信息,可以使用&useSSL=false关闭SSL
jdbc:mysql://127.0.0.1:30002/smssvr?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false