首先跟大家唠一唠家常,随着mysql迅速的更新,mysql突飞猛进已经更新到了8.0版本,那么它和我们之前用的5.x版本有什么明显的区别那?首先给大家看下mysql5.x自带表的查询速度

mysql 8 安装 centos mysql8.0.11安装_mysql

之后献上mysql8.0的自带表的查询速度

mysql 8 安装 centos mysql8.0.11安装_mysql 8 安装 centos_02

一样的数据结果显而易见,mysql8.0的坑我是走了个遍,为了让大家少走弯路,献上以下手动安装方法

1. 官网下载并解压

我下载了mysql-8.0.11-winx64,

mysql 8 安装 centos mysql8.0.11安装_命令行_03

直接点击我红色记号笔圈出的超链接,这句话的中文意思是:不用了,直接开始下载

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

mysql 8 安装 centos mysql8.0.11安装_命令行_04

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 identified by 'password' password expire never; #修改加密规则
接着:alter user identified with mysql_native_password by 'password'; #更新一下用户的密码
最后:flush privileges; #刷新权限
如果大家有出错或不懂的地方在下方评论,我会耐心解答。