Skip to content

mysql免安装版安装配置过程中遇到的问题和相关的解决

下午在安装mysql-5.7.15时遇到不少问题,现在一一记录。

首先,在官网上下载的是mysql免安装的zip文件,然后将其解压在了d盘根目录下面了,开始按照网上的教程一步步进行配置,本人使用的电脑是win10 64位。

1.在环境变量path中配置了mysql的bin路径

2.配置默认文件:因为现在mysql是默认配置,在使用的过程中会出现很多问题,如汉字是乱码等。我们新建配置文件my.ini,放在mysql的根目录下,键入如下代码:

[mysqld]
skip-grant-tables
#5.7专用去掉ONLY_FULL_GROUP_BY,重新设置值。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=G:\utils\mysql-5.7.30-winx64
# 设置mysql数据库的数据的存放目录
datadir=G:\utils\mysql-5.7.30-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

注意这里保存时编码为ansi,否则会报如下错误:error: Found option without preceding group in config file: D:\Program Files\mysql-5.6.25-winx64\my.ini at line: 1 Fatal error in defaults handling. Program aborted。特别说明.ini文件是window里面的配置文件。保存里面各种默认的数据。安装版的是在安装的时候让你自己选然后系统给你保存进来,zip archive是自己写,都一样。

3.在myslq文件的bin目录下运行管理员命令行,输入mysqld --install进行mysql的安装

之后开始出现问题

mysql> update user set password=password('123456') where user='root'; ERROR 1054 (42S22): Unknown column 'password' in 'field list'

问题解决win下mysql的密码列是authentication_string,使用语句mysql>update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';

解决

MYSQL 安装出错initialize specified but the data directory has files in it. Aborting.Newly created data

如图mysqld --initialize --console后出现报错

在这里插入图片描述

initialize specified but the data directory has files in it.

Newly created data directory

其实是data中存在了已有的数据 ,删除data 文件中的数据即可。

在这里插入图片描述

在这里插入图片描述

搞定

mysql.zip版本的安装教程

MySQL zip版本安装

一直以来都习惯了使用MySQL安装文件(.exe),今天下载了一个.zip版本的MySQL,安装过程中遇到了一些问题,如下:

1.在MySQL官网上(http://dev.mysql.com/downloads/mysql/)下载免安装版的zip文件(本文以mysql-5.7.14-winx64.zip为例)

2.将zip文件解压到本地,本文解压到如下目录:D:\softwares\mysql-5.7.14-winx64

3.新建一个配置文件(my.ini)用于配置字符集、端口等信息,用以覆盖原始的配置文件(my-default.ini),当然也可以修改这个默认的配置文件。新建文件夹data存放MySQL数据。如下:

img

​ 将以下内容复制到新建的配置文件中,其中basedir和datadir设置mysql文件夹路径:

txt
   [mysql]
     \# 设置mysql客户端默认字符集
     default-character-set=utf8
     [mysqld]
     \#设置3306端口
     port = 3306
     \# 设置mysql的安装目录

     basedir=D:\\softwares\\mysql-5.7.14-winx64
     \# 设置mysql数据库的数据的存放目录
     datadir=D:\\softwares\\mysql-5.7.14-winx64\\data

     \# 允许最大连接数
     max_connections=200
     \# 服务端使用的字符集默认为UTF8
     character-set-server=utf8
     \# 创建新表时将使用的默认存储引擎
     default-storage-engine=INNODB

4.输入cmd,以管理员身份运行控制台,进入MySQL路径(D:\softwares\mysql-5.7.14-winx64\bin)下,运行mysqld install命令。注意:这里需要以管理员身份运行,否则提示如下:

img

5.安装成功后,如下:

img

​ 启动mysql服务,以为万事ok了,结果如下:

img

​ 6.在网上搜索3534这个错误信息,有人说是从5.7.6开始需要执行mysqld --initialize方法(http://www.mamicode.com/info-detail-1150164.html)。解决方法如下:

​ 1) 执行mysqld -remove命令将以前的错误安装删除,否则会提示已经安装

​ 2)执行mysqld --initialize命令后再执行mysqld install,再执行net start mysql启动MySQL,一切ok

img

​ 7.执行”mysqladmin -u root password 密码“设置初始密码,设置ok后执行mysql -u root -p回车然后输入密码,即可登录mysql

img

img

​ 8.若my.ini文件中的basedir和datadir不是以”\“表示路径,在执行mysqld --initialize命令时会报一下错误:

img

​ 9.可以设置环境变量,启动cmd输入mysql -u root -p密码即可登录mysql,而不用切换到mysql安装目录的bin目录下,

​ 本文可以将D:\softwares\mysql-5.7.14-winx64\bin设置到环境变量path中,启动cmd后可以直接输入连接mysql的命令,如下:

img

mysql5.7的初始密码位置

今天安装了mysql5.7,在执行mysql -u root -p时,失败了。

在****mysql目录/data****下面,找到一个.err文件,打开,发现了密码:

2018-09-14T02:06:11.234666Z 1 [Note] A temporary password is generated for root@localhost: ***\*>#PDQ=hmU6dB\****

因此,在提示输入密码时,把上面红色的密码填入,就成功了!!

img

1045 Access denied for user 'root'@'localhost' (using password: YES)

MySQL 连接错误,使用Navicat连接MySQL出现错误:1045 Access denied for user 'root'@'localhost' (using password: YES)

img

解决方法:

编辑**mysql配置文件my.ini**(在mysql的安装目录下,不同电脑可能不一样,参考目录①D:\Program Files\MySQL\MySQL Server 5.0\my.ini;②C:\ProgramData\MySQL\MySQL Server 8.0\my.ini;),在**[mysqld]这个条目下**加入 skip-grant-tables 保存退出后重启mysql

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

2.停止:输入 net stop mysql

3.启动:输入 net start mysql

也可以在计算机-管理-服务里面找到MySQL的服务,如图

img

这时候在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

5.7以后用
mysql> update mysql.user set authentication_string=password('root') where user='root' ;

3.刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

4.退出mysql:
mysql> quit;

Bye

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

img

错误代码1862-mysql

问题描述

mysql密码过期(不是不对),导致连接不上数据库!

错误显示

img

错误显示

img

错误显示

windows 解决方法

  • 进入安装目录的bin目录下,执行 mysql -uroot -p 进入mysql shell

img

进入mysql shell

  • 执行use mysql显示情况

img

use mysql

  • 使用SET PASSWORD = PASSWORD('root');修改密码

img

修改密码

此时就可以正常连接数据库了!

img

用心去做高质量的内容网站,欢迎 star ⭐ 让更多人发现