windows 7/10安装Mysql5.7.31(解压版),并使用navicat连接解决1862错误
前言
最近要使用Mysql数据库,开始安装Mysql5.7,其中在Window7和Window10验证了Mysql5.7.3X,安装后Navicat链接会报1862错误,以下给出最简单的解决方法。
1.安装Mysql5.7.31
1.1下载Mysql
目前官网可以直接下载,但为英文,下载地址https://downloads.mysql.com/archives/community/,因为使用的是开源版本,所以可以直接下载。
1.2解压Mysql,并配置配置文件
(1)为方便查找目录,解压下载的文件后,拷贝到D:\soft下,目录结构为D:\soft\mysql-5.7.30。
(2)在该目录下建立配置文件my.ini
注:不需要建立data文件夹,若建立,则在安装时会报错,并提醒无法创建。
(3)文件内容填写如下:
[mysqld]
port = 3306
#需要填写你的实际目录
basedir=D:\\soft\\mysql-5.7.30
datadir=D:\\soft\\mysql-5.7.30\\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#skip-grant-tables
[mysql]
default-character-set=utf8
1.3配置环境变量
为方便,直接在环境变更里的path里增加路径。
windows 10的环境变量位置:电脑属性->高级系统设置->环境变量
注:使用新建立SQL_Home也可以,但上面最为简单。
1.4安装
使用管理员身份运行cmd(重点,若为普通用户,则无法完成安装)。
切换到mysql的bin目录,并初始化。
mysqld --initialize
若正常,则执行
mysqld install
正常后,开启mysql
net start mysql
注:若启动不成功,请看最后常见错误。
1.5修改root密码
因为my.ini中加入了skip-grant-tables配置,所以可以直接使用 mysql -u root -p 直接回车。
#将数据库切换至mysql库
mysql> USE mysql;
#修改密码
mysql> update user set authentication_string=PASSWORD('123456@ABC') where user='root';
#刷新MySQL权限相关的表
mysql> flush privileges;
mysql> exit;
此时禁用或删除skip-grant-tables配置后重启Mysql,即可使用。
2.Navicat for MySQL链接mysql
配置好账号、密码后,会出现报错:MYSQL(5.7) 报错:1862 your password has expired…
2.1 解决1820问题
使用root登录到mysql 后,再设置一下密码即可。
# 用户名为root,密码即上次修改的密码:123456@ABC
mysql -uroot -p123456@ABC
SET PASSWORD = PASSWORD('123456@ABC');
#这里也可以更改为其它密码。
执行完后,即可使用Navicat了。
3、常错误
3.1 密码查看
打开安装目录下的data,找到err结尾的文件,最后一行就是密码。
3.2 启动报错
类似以下错
此时说明Mysql服务无法启动,需要查看启动地址是否正确
要保证可执行文件的路径与你的安装路径一致,否则无法启动。
3.3 mysql远程连接权限
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456@ABC‘ with grant option;
语句报错
这条语句适用于MySQL8.0之前的
而MySQL8.0及之后的,设置远程连接权限要用下面的语句才可以
createuserroot@‘%‘identifiedby’123456@ABC’;
grantallprivilegeson*.*toroot@’%'withgrantoption;