mysql-5.7.17-winx64解压版本安装图解附常见问题

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

步骤如下:

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

 

 

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

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

 

 

 

第三步:设置环境变量

 操作如下:

    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 

配置如下:

 

 

 

 后面初始化指令操作后会自动生成一个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_string from 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  修改登录密码

 

1. 打开 cmd命令提示符管理员,进入mysql的安装bin目录下。

 

 

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

 

 

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

 

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

 

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

 

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

 

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

 

 6.更改root密码,输入

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

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

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

 

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

 

 

附录2  MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'

 

新安装的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

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

 

附录3 mysql异常 Install/Remove of the Service Denied!

 

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

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

出现如下异常:

Install/Remove of the Service Denied

解决办法:

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

 

 

Service successfully Installed!

 

附录4  MySQL错误号码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也可以成功连接。

 

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

 

 

编辑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就可以了。

posted @ 2017-10-10 17:43  鱼被吃了  阅读(594)  评论(0编辑  收藏  举报