windows 下安装 MySQL5.7服务端(满满都是坑)

1. 从官网上下载mysql-5.7.20-winx64.zip安装包(Archive版),下载后,先解压到一个目录下。
2. 配置my.ini
解压后的目录中,是不包含my.ini文件的,需要我们手动在根目录下创建。
内容如下:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 33061
#设置mysql的安装目录
basedir="D:/myplatform/MySQL/MySQL Server 5.7/"
#设置mysql数据库的数据的存放目录
datadir="D:/myplatform/MySQL/MySQL Server 5.7/data/"
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#跳过密码验证
#skip-grant-tables
3. 初始化
以管理员身份运行cmd,切换到mysql的bin目录,执行初始化命令:
mysqld --initialize
初始化完成后,会在解压好的根目录下,自动创建data目录。
4. 安装为系统服务
进入cmd命令行窗口,输入如下命令:
sc create MySQL5.7 binPath= "D:\myplatform\MySQL\MySQL Server 5.7\bin\mysqld.exe",
其中,MySQL5.7为系统服务名称,binPath为mysqld.exe文件的路径。
注意:千万不要选择mysql.exe。
5. 修改root用户密码
5.1 首先,将my.ini文件中的skip-grant-tables配置项前面的注释拿掉,然后重启mysql服务。
5.2 执行命令mysql -uroot -p,回车后,即可进入mysql。
吐血总结:
此处被坑了足足几个小时。
如果你设置的数据库端口号不是默认的3306,那么,上面的命令输入完回车后,将会出现如下错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
如图:

此时,必须输入以下命令才行:
mysql -P33061 -uroot -p
其中,33061是我们自定义的端口。
密码修改成功后,后面再用命令行操作时,则无需再加端口号。
5.3 依次输入如下命令:
输入use mysql; 回车
输入update user set authentication_string = password('admin'), password_expired = 'N', password_last_changed = now() where user = 'root';回车
上面语句的意思,将root用户的密码修改为admin,并且永不过期。
如图:

5.4 安全起见,将my.ini文件中的skip-grant-tables选项重新注释掉。
5.5 重启mysql。

猜你喜欢

转载自blog.csdn.net/tdcqfyl/article/details/78630025