mysql5.7解压版错误_mysql-5.7.17-winx64解压版本安装图解附常见问题

前言:自己搜索总结的一个文档,包含了一些常见的问题(在文档尾部)以便于下次使用

步骤如下:

第一步:下载mysql-5.7.17-winx64解压版本:http://dev.mysql.com/downloads/mysql/

bab63f27d2d4efdf0e27fa2e48bcae21.png

第二步:解压到安装目录,如:D:\MySql\mysql-5.7.17-winx64

解压到自定义目录:我解压到了D盘的MySql文件夹的根目录

186997072323ebc10b0b6d002f6af564.png

第三步:设置环境变量

操作如下:

1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量

点击系统变量下的新建按钮

输入变量名:MYSQL_HOME

输入变量值:D:\MySql\mysql-5.7.17-winx64

2)选择系统变量中的Path

点击编辑按钮

在变量值中添加变量值:%MYSQL_HOME%\bin

注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,

第四步:修改D:\MySql\mysql-5.7.17-winx64文件夹下的my.ini文件,如果没有可以(解压后有个my.default.ini文件,修改成my.ini,在里面修改)复制my-default.ini 重命名my.ini

配置如下:

737cc20eb56f627edc54712f2fbfc3e0.png

989d136ea47f4361109b0f81bcfcb307.png

6eab6f446be989720ad84100afe97aa4.png

后面初始化指令操作后会自动生成一个data文件夹,

在cmd中进入,输入D:回车进入D盘,输入cd MySql\mysql-5.7.17-winx64\bin,进如解压的bin文件夹

输入:mysqld --install [回车](这个命令就是安装服务, 执行完后,提示英文的成功,这时候你可以在你的windows服务中看到MySQL的服务,但未启动。)

输入:mysqld --initialize --console   这步很重要,这是初始化数据库, (这是在老版本配置没有的操作)然后你可以在初始化的最后面看到有一个root@localhost:后面有一连串的字母数字符号, 这是MySQL 为你自动生成的随机密码,一定要记下来, 一会我们登陆MySQL数据库的时候要用。

PS:使用-initialize生成随机密码,使用-initialize-insecure生成空密码,初始化后data文件夹会自动生成,不用自己新建。

第五步: 启动MySQL服务

方法一:

启动服务命令为:net start mysql

方法二:

打开管理工具 服务,找到MySQL服务。

通过右键选择启动或者直接点击左边的启动来启动服务

第六步:修改 root 账号的密码

刚安装完成时mysql数据库无法登陆此时在安装文件目录下的my.ini文件中的[mysqld]下新增一行:skip-grant-tables表示mysql登录跳过验证 然后重新启动mysql服务修改为指定的密码。如:123456

c:>mysql –u root  登陆mysql数据库

mysql>show databases;  显示数据库

mysql>use mysql; 使用mysql数据库

Mysql> select user,host,authentication_stringfrom user; 查询user表的用户密码

mysql>update MySQL.user set authentication_string=password('123456') where user='root' ;

mysql>FLUSH PRIVILEGES;

mysql>exit

重新打开cmd 进入安装目录下 重新启动服务 登陆修改后的密码 验证是否修改成功

Mysql>mysql–uroot–p123456;

附录1修改登录密码

dd6f2c3a4032dc2c3230cc34d04eb3b8.png

2.在my.ini文件中[mysqld]后添加--skip-grant-tables表示mysql登录跳过验证

2e996b3793bf9538bf6f3f0dda1ab9ed.png

3.然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。

d5fb6598b379de440701c388ff4fadf9.png

4.输入show databases;   可以看到所有数据库说明成功登陆。

af168dee9a76f5d3e370826b3f8032db.png

其中mysql库就是保存用户名的地方。输入use mysql;选择mysql数据库。

4717fc34d04fa57fdef1fc7463b71aa4.png

show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

9e6c19b5ef136826581e23b7e1415a26.png

5.输入 select user,host,authentication_string from user; 来查看账户信息。

12d90651d6a3a33dd0401c9e807a6e46.png

6.更改root密码,输入

update MySQL.user set authentication_string=password(123456) where user='root' ;修改密码为123456;

42b99304b7eb0856bb7350535b568bad.png

7.再次查看账户信息, selectuser,host,authentication_string from user;   可以看到密码已被修改。

退出命令行,重启mysql数据库,用新密码尝试登录。

e09dd37d43a3a42b93575c49e9024b90.png

测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。

bd2d38c9be96fc1767dcf3688f9fc00e.png

新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user  set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了

authentication_string

所以更改语句替换为updateMySQL.user set authentication_string=password('root') where user='root';即可

在windows 的cmd命令下安装MySQL 时,在mysql的bin目录下面执行:

mysqld install MySQL --defaults-file="D:\mysql-5.6.17-winx64\my-default.ini"

出现如下异常:

Install/Remove of the Service Denied!

解决办法:

打开cmd.exe程序的时候,右键选择“用管理员身份打开”,再次执行就可以了:

e012147757de52ca8c2247f6c9a009cf.png

Service successfully Installed!

附录4MySQL错误号码1862:your password has expired或者ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

使用navicat连接mysql,若出现MySQL错误号码1862:your password has expired,或者,运行窗口中进入bin目录,>mysql -uroot -p123456登录进去,然后执行select * from mysql.users

会有如下信息:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

解决:MySQL> SET PASSWORD = PASSWORD('123456');

Query OK, 0 rows affected (0.03 sec)

然后再select * from mysql.users就有结果了,navicat也可以成功连接。

附录5ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

87558b03f89e0d48202b385fc91864c9.png

编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入

skip-grant-tables

保存退出后重启mysql

1.点击“开始”->“运行”(快捷键Win+R)。

2.启动:输入net stop mysql

3.停止:输入net start mysql

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,粉红色的是执行后显示的代码不用输入):

1.进入mysql数据库:

mysql> use mysql;

Database changed

2.给root用户设置新密码,蓝色部分自己输入:

mysql> update user set password=password("新密码") where user="root";

Query OK, 1 rows affected (0.01 sec)

Rows matched: 1 Changed: 1 Warnings: 0

3.刷新数据库

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

4.退出mysql:

mysql> quit

Bye

改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值