1、下载
去mysql官网https://dev.mysql.com/downloads/file/?id=476233下载最新版,不用登录,直接点击左下角No thanks, just start my download.
2、安装配置
(1)解压zip包到安装目录,我的解压在D:\Tools\database\Mysql\mysql-8.0.11-winx64
(2)配置环境变量,在path后新建环境变量
(3)新建my.ini初始化文件,my.ini里配置如下:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Tools\Database\Mysql\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx-data
datadir=D:\Tools\Database\Mysql\mysql-8.0.11-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
3、安装
(1)必须以管理员身份运行cmd,否则安装时会提示无权限,以管理员身份运行方法如下:win+x键,然后选择
(2)切换到mysql解压bin目录下执行mysqld --initialize --console
注意控制台执行结果里有一句:
2018-07-09T02:00:55.605884Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: yhI=)<2,3fj/
切记,这个打印出来的是 root 用户的初始默认密码,一定要记下来,这是你登录mysql的初始密码。
比如我的初始化密码就是yhI=)<2,3fj/
当然,要是你第一次操作不熟,没有记住,那也没事,删掉初始化的 data目录,再执行一遍初始化命令,又会重新生成的。
(3)安装mysql服务
继续在此控制台输入命令mysqld --install,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字来区分,比如 mysql1 和 mysql2等等,那命令就是mysqld --install [服务名]
我就安装一个mysql服务,所以没有起服务名。
(4)启动mysql服务
安装完成之后,通过命令net start mysql启动MySQL的服务。
(PS:通过命令net stop mysql可以停止服务。通过命令sc delete MySQL/mysqld -remove [服务名]可以卸载 MySQL 服务)。
(5)更改密码
执行命令mysql -u root -p,这个时候会提示输入密码,记住上面第二步执行mysqld --initialize --console命令的时候控制台生成的初始化密码,输入进来,即可登录成功,进入mysql的命令模式。
在MySQL中执行修改密码的命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mazhichu';
注意命令结尾一定要有;符号,是一定要有哦,这是mysql的语法。
最后,执行命令flush privileges;
到此,安装部署就完成了。官方说测试速度MySQL8比5快两倍。
更新于2020年4月29日,在另一台电脑上安装mysql8.0.20时遇到的问题,特此记一下。
谁说结束了,踩坑之路必须要单独贴出来,因为我相信有同学会遇到。
1、执行mysqld --initialize --console命令时提示无法创建data
如果有小伙伴发现出现这个错,问题可能出在my.ini文件中,将basedir和datadir的目录从\改成/,修改后如下:
再次执行:mysqld --initialize --console,成功
2、通过命令net stop mysql可以停止服务。
通过命令sc delete MySQL 或则 mysqld -remove [服务名] 可以卸载 MySQL 服务。