在CentOS7安装MySQL8.0的时候碰见很多问题,查找网上很多博客或者教程都没能解决,在几经卸载重装后终于完成了安装。下面附上教程。
安装前准备
在安装MySQL之前我们先要把CentOS自带的mariadb,如果不卸载的话,在下面的安装中会报错。
- 查看mariadb版本
rpm -qa | grep mariadb
- 卸载mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
下载MySQL
我们先去官网下载MySQL,因为CentOS是红帽认证的,因此我们直接下载红帽认证的的即可。
安装MySQL
我们先将我们下载好的安装包上传到服务器(通过FTP,可以参考这篇文章)
上传服务器后我们直接将我们的压缩包解压:
tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
MySQL的具体压缩包的名称按下载的为准,此处仅为参考。
解压完成后ls
一下会看到以下几个rpm文件:
mysql-community-client-8.0.17-1.el7.x86_64.rpm
mysql-community-common-8.0.17-1.el7.x86_64.rpm
mysql-community-devel-8.0.17-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.17-1.el7.x86_64.rpm
mysql-community-libs-8.0.17-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm
mysql-community-server-8.0.17-1.el7.x86_64.rpm
mysql-community-test-8.0.17-1.el7.x86_64.rpm
然后我们可以用rpm -ivh
命令来进行安装,注意安装顺序,因为这些包的安装是相互依赖的:
- 必须安装(注意顺序)
rpm -ivh mysql-community-common-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.13-1.el7.x86_64.rpm
- 非必要安装(注意顺序)
rpm -ivh mysql-community-libs-compat-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.13-1.el7.x86_64.rpm
- 安装过程中可能会报以下错误:
出现问题:
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(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就安装好了,下面可以直接使用了。
初始化MySQL
- 初始化数据库
mysqld --initialize --console
- 目录授权,不授权的话MySQL没有写入权限,会启动失败
chown -R mysql:mysql /var/lib/mysql/
- 启动msyql服务
systemctl start mysqld
- 停止MySQL命令:
service mysqld stop
- 查看msyql服务的状态
service mysqld status
如显示下图状态说明安装成功
当我们输入
mysql -u root -p
需要输入密码,我们可以去mysqld.log
里面查看一下临时密码:
cat /var/log/mysqld.log
临时密码
- 下面我们就可以使用你的临时密码登录数据库
mysql -u root -p
+回车
输入临时密码
- 执行下列mysql命令 修改密码
alter USER 'root'@'localhost' IDENTIFIED BY '新密码(必须包含:数字大小写字母特殊字符,长度最小为8位)';
做好以上步骤后就可以使用你的MySQL啦。
结尾
上面就是在CentOS7下安装MySQL8.0,在这之前我也在网上翻了无数遍文章,但是Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) "
这个问题我试过好多方法都没有解决,MySQL装了-卸-再装,重装系统,可能是在下愚钝,一直不理解解决者们在文章中要表达的意思,怎么都没有解决。还好最后解决了,故在此写下此篇文章,以期帮助像我一样遇到这种的问题的人。
对于服务器这种东西,我还是个新手。如有不足之处,还请不吝赐教,大家互相学习。如果您觉得我的文章有用,点一下喜欢就可以了哦。
网友评论