centOS安装mysql8.0.20

时间:2024-03-18 13:08:30


昨天看到腾讯云的服务器做活动,就顺手买了一个,准备自己玩玩。首先肯定是要搞相关环境的啦。所以总结下mysql8.0.20的安装(centOS7.5)。
一、先下载
我这里是下载了再传到服务器的,其实可以直接使用wget命令下载到指定目录。
先说这么复制路径:
centOS安装mysql8.0.20
然后点击后面的Download:
centOS安装mysql8.0.20
在文本编辑器里粘贴就可以得到下载地址了。
二、使用wget命令下载到指定目录
命令语法:
wget -P 目录 网址
三、下载文件解压与授权
首先使用cd命令进入到下载的tar文件所在的目录(你的wget命令下载设置的目录)
chmod授权(我一般直接给最大权限)
chmod 777 文件名
chmod 777 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
解压文件
tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
完成后:
centOS安装mysql8.0.20
授权
chomd 777 mysql*
因为文件都是以mysql开头的,所以后面加*,进行模糊批量授权
四、会遇到的问题
1、mysql-community-libs … 这两个包安装不上。
原因:我们在Linux系统中,如果要使用关系型数据库的话,基本都是用的mysql。
而且以往7以下版本的centos系统都是默认的集成有mysql。
然而对于现在最新的centos7系统来说,已经不支持mysql数据库,它默认内部集成了mariaDB。
如果我们想要使用 mysql 的话,就要先将原来的mariaDB卸载掉,不然会引起冲突。
解决方案:卸载maridb (rpm 不会卸载软件的 自行百度)
查看安装的 mariaDB:rpm -qa | grep mariadb
卸载:rpm -e ( 为软件名)

如果不能卸载则即可:rpm -e --nodeps ( 为软件名)
2、缺少依赖包 libaio
libaio.so.1()(64bit) is needed by MySQL-server 问题
直接实用yum包管理工具安装即可:yum install libaio
3、libnuma.so.1()(64bit) is needed by mysql-xxx
安装numactl即可
yum -y install numactl
五、安装与顺序
使用 rpm -vih XXXXXX(XXXXXX 为 rpm包全名)
按照依赖顺序依次安装(能安装的安装就行,像test这个不方便安装就算了。)
mysql-community-common-8.0.20-1.el7.x86_64
mysql-community-libs-8.0.20-1.el7.x86_64
mysql-community-libs-compat-8.0.20-1.el7.x86_64
mysql-community-client-8.0.20-1.el7.x86_64
mysql-community-embedded-compat-8.0.20-1.el7.x86_64
mysql-community-server-8.0.20-1.el7.x86_64
六、启动mysql
service mysqld restart
新版mysql安装成功后会设置一个默认密码,使用命令可以查看到
sudo grep ‘temporary password’ /var/log/mysqld.log
centOS安装mysql8.0.20
七、修改密码
1、出现Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
是因为没有启动mysqld
service mysqld start
重新出现[rootxxx]#表示命令执行成功
mysql -uroot -p
然后回出现:
centOS安装mysql8.0.20
执行show databses;或其他命令,如果出现xxx rest your pass提示,意思就是要你先修改密码:
ALTER USER USER() IDENTIFIED BY ‘yourpassword’;
然后就可以了。
到此,安装就完成了。在外网使用工具连接出现不允许allow提示,执行sql修改下允许就ok。
1,登进MySQL之后,
2,输入以下语句,进入mysql库:
use mysql
3,更新域属性,’%‘表示允许外部访问:
update user set host=’%’ where user =‘root’;
4,执行以上语句之后再执行:
FLUSH PRIVILEGES;
5,再执行授权语句:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%'WITH GRANT OPTION;
然后外部就可以通过账户密码访问了。
第一次装mysql8.0的版本,让大佬们见笑了。记录下勉励自己,总有云开之时。