电脑是64位的安装不了Windows (x86, 32-bit),Mysql installer MSI ,然后下载了Windows (x86, 32-bit), ZIP Archive 这种是免安装直接解压使用的,因为最新版本的原因也有一些问题。
(1) 首先解压后有一个默认的配置文件my-default.ini配置文件,直接替换掉换成以下的配置文件(注意安装路径的更改)。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#skip-grant-tables
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.10-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.10-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
(2) 以管理员身份进入命令行窗口安装mysql服务
进入解压的/bin目录下 输入mysqld install 安装mysql服务,
接着就是在输入 net start mysql 启动服务
然后问题就开始出现了!!!
服务无法启动,服务没有报告任何错误!
查看了下5.7版本的解压文件夹下没有data这个文件夹,而在配置文件中出现了datadir=D:\mysql-5.7.10-winx64\data
然后自己新建了一个data文件夹还是不行。。
在网上查看了下,有人去查看了官方的安装文档,发现要用
mysqld --initialize 先初始化data目录。使用这个命令(在/bin目录下使用)后马上要生成了一个新的data文件夹了,然后net stop mysql关掉重启就可以了。
(3)打开MySQL
\bin目录下输入mysql -uroot -p ,默认是没有密码的,一般是直接按回车进入,
但是出现ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password: YES)的错误 。网上一搜很多人都有出现这个错误
一般解决的方法都是在在配置文件[mysqld]条目下加一条命令skip-grant-tables然后重启就可以略过密码进入了。
然而加了这个命令还是出现这个错误!!!。这次在网上一直没有找到解决方法,最后发现应该是版本的问题,然后换了下载了5.6版本的压缩包,用5.6的data文件夹替换了现有的data夹,问题就解决了。
(4)首次设置新密码
在cmd里面输入mysql -u root-p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045(28000),但很多操作都会受限制,因为没有不能grant(没有权限)的密码
1.进入mysql数据库:
mysql> use mysql;
Database changed
2.给root用户设置新密码
mysql> update user setpassword=password("新密码") whereuser="root";
Query OK,
Rows matched:
3.刷新数据库 (一定要记得刷新)
mysql>flush privileges;
QueryOK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
最后把配置文件中的skip-grant-tables 注释掉。下次输入mysql -uroot -p 就可以用新密码登录了