centOS7.5安装mysql8.0保姆级教学

一、安装前的准备工作:
1、卸载mysql:
1、检查是否已经安装过mysql,执行命令

[root@localhost /]# rpm -qa | grep mysql

在这里插入图片描述

从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令
[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

再次执行查询命令,查看是否删除
[root@localhost /]# rpm -qa | grep mysql

在这里插入图片描述

2、查询所有MySQL对应的文件夹
 [root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
 [root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql

删除相关的目录或文件

[root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

验证是否删除完毕

[root@localhost /]# whereis mysql
mysql:
[root@localhost /]# find / -name mysql
[root@localhost /]# 
3、检查MySQL用户组和用户是否存在:
[root@localhost /]# cat /etc/group | grep mysql
mysql:x:27:
[root@localhost /]# cat /etc/passwd |grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false

在这里插入图片描述
如果没有,则创建:

[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql

对于以前安装过mysql的linux系统,会提示已经存在mysql,上面截图即是已经存在

因此,删除mysql用户组和mysql用户,简单快捷:

userdel mysql     #删除mysql用户
groupdel mysql    #删除mysql用户组

对于安装过mysql,是难以跨越的阻挡!

2、下载mysql8.0

官网地址:https://downloads.mysql.com/archives/community/
centOS7.5安装mysql8.0保姆级教学_第1张图片
由于centOS是基于Red Hat开发的,所以选择该版本的mysql下载,本人的centOS为64位版本,故下载64位的版本即可。

或者直接用wget命令下载:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.24-1.el7.x86_64.rpm-bundle.tar

3、创建目录:
mkdir /usr/local/mysql
4、将安装包移动到创建好的文件夹中:
mv mysql-8.0.24-1.el7.x86_64.rpm-bundle.tar /usr/local/mysql
5、解压下载好的安装包:
tar -xf mysql-8.0.24-1.el7.x86_64.rpm-bundle.tar

二、正式安装:

rpm -ivh mysql-community-common-8.0.24-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-libs-8.0.24-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.24-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.24-1.el7.x86_64.rpm --nodeps --force

注意:顺序一定不能错!!!顺序一定不能错!!!顺序一定不能错!!!重要的事情说三遍!!!

yum install mysql -y

这步时间会比较久,耐心等待

检查是否已经安装好:

rpm -qa | grep mysql

出现这四个即代表已经安装好了,到这里完成一半了

在这里插入图片描述

对数据库进行初始化并设置不区分大小写然后运行数据库服务:

mysqld --initialize --lower-case-table-names=1
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld

查看数据库初始密码:

cat /var/log/mysqld.log | grep password

在这里插入图片描述
这个就是初始密码了,复制好,待会儿要用

三、登录数据库:

mysql -uroot -p

输入刚才查询的初始密码即可登录进mysql

centOS7.5安装mysql8.0保姆级教学_第2张图片
更改数据库初始密码,毕竟这个初始密码也太难记了。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

这里演示,随便设置了123456,自己可以根据自己需要自己设定。

在这里插入图片描述
授权远程访问用户:

create user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

centOS7.5安装mysql8.0保姆级教学_第3张图片

这个时候安装已经彻底完成,可以正常使用了。

如果想更改端口号的话操作如下:

首先查看mysql默认端口号,一般都是3306,其实没什么看的。这里就列出来吧:

show global variables like 'port'

centOS7.5安装mysql8.0保姆级教学_第4张图片
退出mysql:

exit

1、编辑/etc/my.cnf文件 :

vi /etc/my.cnf

2、添加port=6666
3、重启mysql:

systemctl restart mysqld.service

遇到的坑:
mysql数据库的一个重启和停止之类的命令,按照习惯,应该是

service mysql restart

这样的写法,但是centOS7.0以上版本已经废除了service这个命令,所以这样命令就直接没有任何作用了,正确的格式应该是

systemctl restart mysqld.service

即,应当为如下格式:

 systemctl  + 功能名称 + 服务名

正常输入启动重启之类的不会有任何反馈,但是肯定是已经做了这个动作的,如下:
在这里插入图片描述
可以看看我两次的PID是否变化过:
centOS7.5安装mysql8.0保姆级教学_第5张图片
很明显已经进行了重启这项操作了,没有任何提示即为正常状态,如果有其他东西输出到控制台,那肯定是出问题了。

目前碰到的坑暂时就这一个,如果还有其他坑我这会同步更新的。

上面对数据库进行初始化的是第二个坑,本人装好之后按照习惯将数据库更改为不区分大小写模式,都是直接更改 、etc/my.cnf中的文件,然而8.0不行,8.0在my.cnf中加了 lower-case-table-names=1 这句话之后就会启动失败,这个只能在初始化的时候同步加,也就是我在上面的步骤中加的一个写法才行。这里做个记录。

==========================================================================

这边因为项目问题申请了台TX云的一个服务器,发现安装的mysql进行初始化的时候又有个错误,报这个:

mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

如图:
在这里插入图片描述

这种情况出现解决方式就比较简单了,缺少了libaio和numactl,这边直接两步安装就完事了:

yum install -y libaio
yum -y install numactl

如图:
centOS7.5安装mysql8.0保姆级教学_第6张图片

centOS7.5安装mysql8.0保姆级教学_第7张图片

到这就完成了,重新再进行个初始化就完事了。

你可能感兴趣的:(MySQL,CentOS,Linux,mysql,linux,数据库,centos)