首先跟大家唠一唠家常,随着mysql迅速的更新,MySQL突飞猛进已经更新到了8.0版本,那么它和我们之前用的5.X版本有什么明显的区别那?
首先给大家看下MySQL5.X自带表的查询速度
之后献上MySQL8.0的自带表的查询速度
一样的数据结果显而易见,MySQL8.0的坑我是走了个遍,为了让大家少走弯路,献上以下手动安装方法
1. 官网下载并解压
我下载了mysql-8.0.11-winx64
下载地址:https://dev.mysql.com/downloads/file/?id=476233
直接点击我红色记号笔圈出的超链接,这句话的中文意思是:不用了,直接开始下载
2. 设置系统环境变量
这个不多说了百度上一堆,配置这个只是为了命令行方便...
3. 编写配置文件
如解压位置为D:\\App\\MySQL\\mysql-8.0.11-winx64
就在此处手动创建my.ini文件,文件内容如下:
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=D:\\App\\MySQL\\mysql-8.0.11-winx64
; 设置mysql数据库的数据的存放目录
datadir=D:\\App\\MySQL\\mysql-8.0.11-winx64\\data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
注意修改安装目录与数据存放目录
4. 数据库初始化
用管理员身份运行命令行,进入安装MySQL下的bin目录输入如下命令:
自动生成root用户,可以不带密码:
mysqld --initialize-insecure
或者带随机密码:
mysqld --initialize
随机密码被保存在错误日志里,位于(前面配置好的datadir)数据文件夹下,文件名为:主机名.err
注意:如果要重新初始化,必须先清空data文件夹。(包括停止下一步的服务)
我看的教程就是没有这一步,导致:
服务无法启动。
服务器没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
5. 安装并启动服务
在命令行下执行。
安装服务:
mysqld -install
启动服务:
net start mysql
回退的时候反过来
停止、卸载服务:
net stop mysql
mysqld -remove
6. 进入MySQL
无密码进入:
mysql -u root
有密码的进入方式:
mysql -u root -p
有密码的话进去就要求输入,随机密码的话位置上面提到过了。
感动,终于看到了:
mysql>
最后说下如果客户端连接如果出现caching-sha2-password问题
解决方案如下:
首先:ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\' PASSWORD EXPIRE NEVER; #修改加密规则
接着:ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'password\'; #更新一下用户的密码
最后:FLUSH PRIVILEGES; #刷新权限