在经历了网上搜索的安装教程中,大部分使用了yum安装的,结果是不尽人意,最后转为rpm安装,下面写下我的安装过程,中间综合不同文章的方法,然后成功的在centos7中安装了mysql 8.0.19,请参考此教程的同学,确认自己是centos7系统,并且安装的是mysql8,在安装前请先看一遍教程再动手操作,阅读本教程需熟悉linux相关知识,不懂linux的同学可能会有点难理解
清理已经存在的mysql
查询已经安装的mysql
rpm -qa | grep mysql
'xxxx'代表 rpm -qa | grep mysql 展示出来所有名字,有多个,则重复多次 yum -y remove 'xxxx'
yum -y remove 'xxxx'
查找所有与mysql相关的文件
find / -name mysql
使用rm-rf时一定注意确认路径,确认时上一步中查出来的路径,复制的时候不要漏任何字符,否则会造成系统奔溃 , 'xxxx'代表 find / -name mysql 展示出来所有名字,有多个,则重复多次rm -rf 'xxxx'
rm -rf 'xxxx'
清理已经存在的mariadb
查询已经安装的mariadb
rpm -qa | grep mariadb
'xxxx'代表 rpm -qa | grep mariadb 展示出来所有名字,有多个,则重复多次 yum -y remove 'xxxx'
yum -y remove 'xxxx'
下载mysql安装包
进入mysql官网下载,https://downloads.mysql.com/archives/community/,复制url在浏览器中粘贴进入如下页面,注意标红框的几个选项
将文件放在centos服务器上有两种方法,具体如下
第一种方法:
1.可以使用图片中的Download下载到本地电脑
2.登入centos7服务器中
3.cd /usr/local
4.mkdir mysql
5.cd mysql
6.把本地电脑下载的安装包放到第5步的路径下面(熟悉centos的同学可以自行选择路径,因为安装包使用完以后都是可以删掉的), 具体从本地放入到服务器的方法自行百度,很多种方法
第二种方法:
1.cd /usr/local
2.mkdir mysql
3.cd mysql
4.yum install wget
5.wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
6.第五步wget后面的具体网站路径,由于版本的更新可能会变化,所以可以自己获取到具体的下载路径使用wget下载,具体路径可以点击上面mysql官网的截图中的download,然后打开浏览器的下载内容页面,然后暂停下载,具体见下图,复制红框中路径便可,(本人使用的google浏览器),其他浏览器请自行查找
安装mysql安装包
'xxxx.tar' 代表刚下载的安装包,比如我的是 tar-xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
tar -xvf 'xxxx.tar'
在centos当前路径下输入 ls 会看到下图中的10个文件,使用rpm -ivh 安装这10个文件,安装顺序见下图,比如 rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm,(因版本不同,如少于10个,则不在图片中的安装包不安装即可)
安装过程中可能出现以下问题,按需解决,这部分是综合参考了别的教程,自己也遇到了当中的一个问题,并且也解决了
出现问题:error:Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64 libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64 libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64
解决办法:yum install numactl
出现问题:error:Failed dependencies:
pkgconfig(openssl) is needed by mysql-community-devel-8.0.13-1.el7.x86_64
解决办法:yum install openssl-devel.x86_64 openssl.x86_64 -y
出现问题:error:Failed dependencies:
perl(Data::Dumper) is needed by mysql-community-test-8.0.13-1.el7.x86_64
解决办法:yum -y install autoconf
出现问题:error:Failed dependencies:
perl(Test::More) is needed by mysql-community-test-8.0.13-1.el7.x86_64
解决办法:
yum install perl-Test-*.noarch -y
出现问题:error:Failed dependencies:
perl(JSON) is needed by mysql-community-test-8.0.13-1.el7.x86_64
解决办法:
yum install perl.x86_64 perl-devel.x86_64 -y
yum install perl-JSON.noarch -y
启动mysql
初始化数据库
mysqld --initialize --console
目录授权
chown -R mysql:mysql /var/lib/mysql/
启动mysql
systemctl start mysqld.service
查看mysql状态,出现下图中情况说明启动成功了
systemctl status mysqld.service
进入开始放安装包的路径
cd /usr/local
删除安装包
rm mysql/ -rf
登录mysql
启动mysql后会生成一个临时密码,使用此命令可以查询到临时密码,见下图
grep "A temporary password" /var/log/mysqld.log
使用此命令进入mysql,然后回车后会要求输入密码,使用上一步获取的临时密码就可以登录,进入下图页面说明登录成功
mysql -u root -p
xxxx代表你的设置的密码,(必须包含:数字大小写字母特殊字符,长度最小为8位)
alter USER 'root'@'localhost' IDENTIFIED BY 'xxxx';
创建远程登录账号
创建一个user的账号, xxxxxxxx为密码
create user 'user'@'%'identified by 'xxxxxxxx';
grant all privileges on *.* to 'user'@'%' with grant option;
更改加密方式,可提供可视化工具链接
alter user 'user'@'%' identified with mysql_native_password;
alter user 'user'@'%' identified by 'xxxxxxxxx' password expire never;
#刷新
flush privileges;
此命令是退出mysql登录状态
Ctrl + d
重启mysql
systemctl restart mysqld
此时应该是可以使用远程可视化工具连接mysql了,如果还是连接错误,查看防火墙是否开启mysql的默认端口3306,防火墙 firewalld 规则请自行百度,若本教程有错误地方,请指正,谢谢!好了,看完了,赶紧跟着教程动起来吧