MySQL5.7安装以及走过的坑(博主亲测不要再走弯路啦)

mysql安装常见问题(系统找不到指定的文件、发生系统错误 1067 进程意外终止)

https://blog.csdn.net/mhmyqn/article/details/17043921

mysql升级到5.7了,wordpress导数据报错 [Err] 1067 - Invalid default value for 'access_date'

https://blog.csdn.net/hbhcxs/article/details/85045056

MySQL报错: Found option without preceding group in config file:XXX; Fatal error in defaults handling.

https://blog.csdn.net/Life_android/article/details/56512606

MySQL5.7

参考 http://blog.csdn.net/u013205623/article/details/79171698

一、下载

https://dev.mysql.com/downloads/mysql/

按照自己电脑位数下载相应安装包

 

二、安装

1. 解压到想要安装的目录

 

2. 新建一个my.ini

注意:

a、文件编码必须为ANSI,不然install时可能会找不到my.ini

b、必须命名为my.ini而不是my-default.ini,防止在使用时mysql找不到配置文件

 

输入以下内容,安装目录记得改一下

[mysqld] 
port=3306
# 设置为自己MYSQL的安装目录
basedir=F:\my\MySql5.7\mysql-5.7.20-winx64
# 设置为MYSQL的数据目录
datadir=F:\my\MySql5.7\mysql-5.7.20-winx64\data
#默认编码格式
character_set_server=utf8
init_connect='SET NAMES utf8'
#跳过数据库权限验证,如:跳过密码验证、允许修改数据表等
skip-grant-tables
#以下内容最后安装好后在打开,否则可能出错
#其他规则
#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#允许默认时间字段为0
#explicit_defaults_for_timestamp=true
#查询数据表时,表名不区分大小写
#lower_case_table_names=1

3.配置环境变量

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

      点击系统变量下的新建按钮
      输入变量名:MYSQL_HOME
      输入变量值:F:\my\MySql5.7\mysql-5.7.20-winx64
      #即为mysql的自定义解压目录。


2)选择系统变量中的Path
      点击编辑按钮
      在变量值中添加变量值:;%MYSQL_HOME%\bin
      注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值

4.以管理员身份运行cmd

 

在cmd.exe右键选择“以管理员身份运行”

5.在cmd进入bin目录,输入mysqld -install mysql --default-file= my.ini的物理路径

注意:

a、必须进入到bin,不然可能也会报错

b、安装时就指定配置文件,避免mysql找不到这个文件而导致里面的配置失效

三、测试

1. 继续在cmd输入net start mysql,此时报错如下

 

解决:在安装目录下新建一个data文件夹,在cmd继续输入mysqld --initialize --console初始化,再输入net start mysql,服务启动成功

 

2.服务启动成功之后,就可以登录了,如图,输入mysql -u root -p,第一次登陆没有密码直接按回车……又报错了

 

查相关资料,说data文件夹的auto.cnf文件用记事本打开,里面有生成的随机密码,要输入那个密码,试一下……还不行

 

解决:

找到刚才写入的my.ini文件,在[mysqld]下添加skip-grant-tables

在计算机右键,选择“管理”,依次在左侧选择“服务和应用程序”、“服务”,在右侧的服务中找到MySQL,右键,重启服务。

 

回到cmd,重新进入mysql,成功

 

修改密码:

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

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

更改方法:

mysql>update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';  

修改root下的密码,123qwe为新密码。

如果直接登录会如下出错:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 

运行如下指令:

SET PASSWORD = PASSWORD(123qwe); 

重新设置密码,相当于确认密码。

使用quit,重新用密码登录即可。

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(DB)