windows版mysql8.0安装详解
windows版mysql8.0安装详解
准备去下载一个本地mysql服务器时,突然发现mysql从5.7瞬间升级为8.0了,那还等什么,直接下载下来玩玩先.下载地址:
https://dev.mysql.com/downloads/mysql/
下载完成后将其解压到自定义目录下,我所有的工具都保存在D:\tools,解压完成后会看见以下目录:
随后,配置环境变量(我的电脑点右键,然后点属性,然后点击环境变量),步骤如下:
此时,环境变量配置完成,接下来进行安装mysql的操作.
首先可以看见安装目录下没有my.ini文件或者my-default.ini文件,于是自己在安装目录下创建一个my.ini文件,文件内容如下:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\\tools\mysql-8.0.11-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\\tools\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
当然,datadir和basedir文件夹的路径可以根据个人喜好配置,写好了my.ini文件此时,用管理员身份打开cmd窗口
然后先给mysql服务创建名称(方便到时候建立多个mysql服务时不冲突)
mysqld --install mysql8
名字可以根据自己的需要配置,然后就是mysql的初始化:
mysqld --initialize --console
会出现如上的一段,此时要记住自己的初始化密码,如果手残关掉太快了,可以把datadir(即我这里的Data文件夹)删掉,然后在初始化一次.
当然,有些人可能会在此时报错,弹出框如下:
此时你需要下载VC++2015运行包:
vc_redist.x64-VC2015运行库64位.exe: https://page86.ctfile.com/fs/10806086-214297222
vc_redist.x86-VC2015运行库32位.exe: https://page86.ctfile.com/fs/10806086-214296515
这两个地址亲测有效,如果不放心或者链接失效的话可以去百度或者我的CSDN上下载,顺便赏我一丢丢币.嘻嘻
vc_redist.x64-VC2015运行库64位.exe: https://download.csdn.net/download/ycxzuoxin/10518759
vc_redist.x86-VC2015运行库32位.exe: https://download.csdn.net/download/ycxzuoxin/10518739
然后启动mysql服务,在CMD窗口输入指令:
net start mysql8
后面输入的是服务的名称,根据自己的情况写入.
此时我们就可以登录mysql去看看了,输入指令:
mysql - u root -p
然后它会让你输入密码,输入当时的初始化密码,就可以登录mysql了
弹出这样的信息就是登录成功了.此时我们可以输入更改密码指令更改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
BY后面输入的是你的新密码,我输入的root,方便进入,可以根据个人习惯配置密码.
此时密码更改成功后,我们可以看下用户信息:
select user,host,authentication_string from mysql.user;
可以看见此时数据库的root用户仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以直接修改成"%".
但是我尝试了直接给root授权,但是总是失败,效果如下,不知是不是我的指令问题.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; GRANT ALL ON *.* TO 'root'@'%';
于是我重新创建了个root用户并修改了权限.操作如下:
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
2.flush privileges;
这句表示从mysql数据库的grant表中重新加载权限数据
因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
执行完这两步,再次查询用户表命令:
select User,authentication_string,Host from user
发现多了一个用户,该用户所有的主机都可以访问,此时再次用sqlyog访问连接成功!
从MySQL 8开始,您不再可以(隐式)使用GRANT命令创建用户.请改用CREATE USER,然后使用GRANT声明:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
此时用我的mysql可视化工具连接,测试连接成功
上一篇: 6.分页查询教师信息
推荐阅读
-
mysql 5.7.23 解压版安装教程图文详解
-
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
-
Windows7 64位 旗舰版下VirtualBox 4.3.12安装教程
-
详解Python中pandas的安装操作说明(傻瓜版)
-
Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程
-
Windows Server 2012 R2 预览版安装全程图解
-
windows server2016安装MySQL5.7.19解压缩版教程详解
-
MySQL5绿色版windows下安装总结(推荐)
-
MySQL 5.7 zip版本(zip版)安装配置步骤详解
-
字体怎么安装到电脑 windows系统电脑字体安装通用教程详解