目录
一、MySQL下载
进入页面官网MySQL Community Server下载页面,https://dev.mysql.com/downloads/mysql/
页面下拉,找到如下图,然后点击下载Windows (x86, 64-bit), ZIP Archive。
将下载的压缩包解压
二、MySQL的安装
配置环境变量
新增系统环境变量:
键名:MYSQL_HOME
值为:C:\Program Files\mysql-8.0.17-winx64 //根据实际路径配置
在Path中添加:%MYSQL_HOME%\bin,注意Path中不同值之间的“;”符号不能省略
准备my.ini文件
以前的版本解压后或许会存在my.ini文件,但是8.x版本没有,因此要自己手动创建该文件,用记事本创建新文件,文件的内容如下:
[client]
port=3306
default-character-set=utf8
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=D:/Program Files/mysql-8.0.17-winx64
#设置mysql数据库的数据的存放目录
datadir=D:/Program Files/mysql-8.0.17-winx64/data
#允许最大连接数
max_connections=50
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#更改8.0默认的身份认证
default_authentication_plugin=mysql_native_password
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
wait_timeout=31536000
interactive_timeout=31536000
此步骤要注意:MySQL的安装路径中文件夹之间如果使用\,要用\\来代替,或者用“/”
而不是“\”
分隔,否则在下面的操作中可能会出错
文件另存时选择全部文件,文件名创建my.ini
此配置文件中默认设置的是UTF-8的编码方式
编辑好my.ini
文件之后,将my.ini
文件保存到mysql的安装目录下
安装mysql服务
以管理员身份打开cmd命令窗口,将目录切换到MySQL的安装目录的 bin目录 下,执行以下命令:
安装mysql服务,定义mysql服务的名称为mysql8.0
mysqld install mysql8.0
初始化mysql数据库,同时创建data文件夹
mysqld –initialize
执行数据库初始化后,data文件夹里面的内容应该显示为:
启动mysql服务
net start mysql
修改mysql初始密码
执行mysqld –initialize会随机生成密码,初始密码在上图data文件夹下的xxx.err文件中,可以用记事本打开,用ctrl+f 查找功能找到如下一行记录:
[Note] A temporary password is generated for root@localhost: NZ+uhXPq1zN.
其中NZ+uhXPq1zN.即为初始密码(注意.号不要漏了)
登录mysql数据库,并将root密码改为root123:
mysql -uroot -p
use mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
或者
update mysql.user set authentication_string=password('admin') where user='root' and Host = 'root123';
注:初始化数据库是也可以使用mysqld --initialize-insecure 该命令初始化数据库,并设置默认root密码为空;
常见问题:
1、没有data目录
data目录不要手动创建,在执行mysqld --initialize初始化数据库时会自动创建。
2、Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误
由于mysql 8.x登录验证方式改变,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,
查看验证方式
select user,host,plugin,authentication_string from user;
修改验证方式
alter user ‘root’@’%’ identified with mysql_native_password by ‘bob.1234’;
3、开启远程访问MySQL
默认不允许远程访问MySQL,如果需要远程访问,下面是开启远程访问的命令:
use mysql;
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
4、忘记 root 密码重置方法
以管理员身份运行 CMD,停止服务
net stop mysql
无密码启动 MySQL:
mysqld --console --skip-grant-tables --shared-memory
新开一个 cmd 连接 MySQL:
mysql -uroot
修改密码:
update mysql.user set authentication_string=password('admin') where user='root' and Host = 'localhost';
切换到第一个管理员身份运行的 CMD,Ctrl + C 结束服务,然后以正常方式开启 MySQL:
net start mysql
————————————————
参考资料:
mysql 解压版安装配置方法教程 https://www.jianshu.com/p/d0306f4a49a1
mysql最新版8.0.17解压版安装教程 https://www.jb51.net/article/170127.htm
mysql 8.0登录验证方式改变 https://blog.youkuaiyun.com/bob_tthp/article/details/82527779
Windows10 安装 MySQL 并开启远程访问 https://www.cnblogs.com/1x11/p/9508222.html