个人主页: 叶落闲庭
我的专栏:
c语言
数据结构
javaEE
操作系统
Redis
石可破也,而不可夺坚;丹可磨也,而不可夺赤。
官网:https://downloads.mysql.com/archives/community/
选择对应的版本
- Product Version:8.0.33
- Operating System:Red Hat Enterprise Linux Oracle Linux
- OS Version:Red Hat Enterprise Linux 7 Oracle Linux 7 (x86,64-bit)
mkdir mysql
tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar -C mysql
执行这条命令将压缩包解压并存放到mysql文件夹中
cd mysql/
ll
可以看到,解压出来的安装包都是rpm为后缀的安装包,接下来就开始安装这些rpm包了
切换到mysql目录下,因为对于rpm的包资源管理器来说,它是不会处理它们的依赖关系的,所以要按照一定的顺序安装,依次执行如下命令:
cd mysql/
rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm
注意:在执行第三条rpm指令时,可能会报与Linux自带的mariadb冲突的错误,错误提示如下:
- `warning: mysql-community-libs-8.0.33-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY error: Failed dependencies:
- mariadb-libs is obsoleted by mysql-community-libs-8.0.33-1.el7.x86_64
此时执行
rpm -e mariadb-libs --nodeps
语句,然后再执行第三条rpm指令即可
rpm -ivh mysql-community-libs-compat-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.33-1.el7.x86_64.rpm
- 注意:在执行第五条rpm指令时,会报一个依赖检测失败的错误,需要一个
pkgconfig(openssl)
的依赖,此时就需要安装这个依赖,执行指令yum install openssl-devel
进行安装,之后再执行第五条指令即可
安装客户端:
rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm
安装服务端:
rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm --nodeps --force
systemctl start mysqld
systemctl restart mysqld
systemctl stop mysqld
cat /var/log/mysqld.log
mysql -uroot -p
打开MySQL官方文档:https://dev.mysql.com/doc/refman/8.0/en/
搜索validate_password查看
set global validate_password.policy = 0;
set global validate_password.length=4;
设置完上述指令后,即可设置简单密码(如1234)
默认的root用户只能当前节点1oca1host访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问(在所有主机上均可访问)
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
grant all on *.* to 'root'@'%';
注意:这里可能会提示连接失败,需要查看Linux的防火墙是否开启了3306端口的监听
netstat -tunlp | grep 3306
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
此时,还要注意mysql的时区设置:
show variables like '%time_zone%';
set global time_zone = '+8:00';
重启mysql后再次检查,完成即可,此时进行远程连接,提示成功连接