一.Linux Centos7安装mysql8.0.23(不指定数据目录版)

https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
上面是mysql官方的安装教程文档链接(该文档是二进制版本,大多数情况下在生产环境中,很少使用rpm包安装,因为它难以定制化安装)

以下是安装步骤

一.下载tar.xz包
1.没有wget(wget是Linux中的一个下载文件的工具)的情况下,请先

yum install -y wget

2.找到官方的安装包
https://dev.mysql.com/downloads/mysql/
在这里插入图片描述1.操作系统选择linux-通用(linux-Generic)
2.版本选择(64位的)
3.点击【下载】
在这里插入图片描述4.右键——复制链接地址
下面是拿到的链接
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

5.开始下载
(1).安装wget(从头来吧,我直接把虚拟机回到最开始的快照了= =)
在这里插入图片描述(2)wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
wget 刚刚步骤4中拿到的链接。
在这里插入图片描述(3)安装成功
在这里插入图片描述(4)tar解压
因为是tar.xz包,所以我们使用tar -xJvf +tar包名称
在这里插入图片描述解压完毕
在这里插入图片描述

(5)将其移动到规范的目录(有一个合理规范统一的路径,比较容易管理)

将其移动到 /usr/local/mysql

mv mysql-8.0.23-linux-glibc2.12-x86_64 /usr/local/mysql

以上,下载+解压已经完成了。

二.创建一个mysql用户和组并分配权限(权限管理,总不能别的组的人把你的数据库炸了吧)

1创建用户和用户组

groupadd mysql    		#创建mysql组
useradd -g mysql mysql  #创建mysql用户,并指定mysql用户组

2分配权限

chown mysql:mysql /usr/local/mysql   #将目录 mysql 的拥有者设为 mysql,群体的使用者mysql

chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。(记得第一位d代表的是目录)

在这里插入图片描述

在这里插入图片描述

750将这样解释(所有者拥有读写执行,用户组拥有读和执行,其他人没的(root除外)):

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 --- ,也就是 0+0+0 ,应该是 0。

三.初始化数据目录(windows上安装没经历过初始化数据目录,只是会有一个初始化密码需要更改)
在这里插入图片描述所以我们是必须初始化数据目录的。

1.初始化数据目录之前记得安装一下libaio库。
在这里插入图片描述2.自动进行数据目录初始化(这里其实有两种选择一个是指定的数据目录,一个是自动)

(1)切换到我们刚刚安装mysql的路径

cd /usr/local/mysql/

(2)初始化并指定据库目录和文件由mysql登录帐户拥有。
在这里插入图片描述并且我们也拿到了初始密码(倒数第二行)

四.启动并测试我们的mysql服务器(看看能用了不)
(1)启动Mysql服务器(以mysql用户的身份启动他)

bin/mysqld_safe --user=mysql &

在这里插入图片描述
报错了,他说/var/log/mariadb/mariadb.log这个文件不存在,请使用mysql账号创建一个可写的文件给他。
之所以会有这玩意是因为默认的my.cnf配置文件中写了这个,所以我们把他删了
(1)找到配置文件my.cnf
在这里插入图片描述(2)vim 编辑他(回到最原始的状态了= =)
在这里插入图片描述(3)删除他
在这里插入图片描述
在这里插入图片描述
再来一遍启动并用ps查一下进程
在这里插入图片描述能发现mysql服务已经起来了,接下来我们就可以访问他了。

五.初始化后的根密码分配(初始化好了,服务也启动了,接下来就是用密码登陆了)
输入 mysql -u root -p(记得在bin下面,以后可以把mysql命令放到环境变量中)
在这里插入图片描述报错了
在这里推荐下下面这位大佬的解决过程

https://blog.csdn.net/hjf161105/article/details/78850658
首先找到mysql.sock,然后将他软连接到/tmp文件夹下面即可(红框那边忘加软连接地址了。。)
在这里插入图片描述再次输入密码以后发现报错变了:变成了拒绝该账号登陆了。

这个时候我们需要先停掉我们的mysql服务再去改密码(毕竟root都不行了= =)。
1.关不掉,我们直接杀进程。
在这里插入图片描述2.使用安全模式启动mysql服务(windows上也是一样的,如果想要修改root的密码必须是要先关服务【无法登陆mysql的情况】)
(1)启动mysql服务(跳过权限表)

bin/mysqld_safe --user=mysql --skip-grant-tables &

在这里插入图片描述(2)新打开一个xshell连接过去登陆
能看到现在服务是开着的。
在这里插入图片描述(3)登陆
在这里插入图片描述(4)修改root密码(不让改= =,先刷新一下权限表就修改成功了,改好密码以后也要刷新一下,赋予权限)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Renzha12';
flush privileges;

在这里插入图片描述
(5)退出mysql,关闭mysql服务,再次启动
在这里插入图片描述

六.总结
1.以上单机版安装结束。(不指定数据目录版)
2.主要是跟着官方文档去安装。下一篇就该指定数据目录了。
3.博客上的安装教程少看= =,我浪费了2天= =,最好还是主要跟着mysql官方来,如果有报错再去百度=。

猜你喜欢

转载自blog.csdn.net/weixin_41720100/article/details/115415615