时间:2022-07-13
安装版本:MysqL-community-8.0.29
0. 删除MariaDB
在CentOS 7中默认有安装MariaDB,这个是MysqL的分支,通过其他方式安装MysqL需要删除MariaDB或补全依赖关系,但通过yum安装则会自动覆盖MariaDB并补全依赖(也就是说yum安装的话删不删都行)
0.1 检查MariaDB
rpm -qa|grep mariadb
0.2 删除MariaDB
(如果上条命令返回为空则略过)
rpm -e --nodeps mariadb-server
rpm -e --nodeps mariadb
rpm -e --nodeps mariadb-libs
0.3 检查MariaDB
重复步骤0.1若无返回即表示删除成功
1. 添加MysqL Yum Repository
从CentOS 7开始,MariaDB成为Yum源中默认的数据库安装包。也就是说在CentOS 7及以上的系统中使用yum安装MysqL默认安装的会是MariaDB(MysqL的一个分支)。如果想安装官方MysqL版本,需要使用MysqL提供的Yum源。
1.1 下载MysqL源
wget https://dev.MysqL.com/get/MysqL80-community-release-el7-3.noarch.rpm
1.2 安装MysqL源
yum -ivh install MysqL80-community-release-el7-3.noarch.rpm
1.3 检查
安装完成后会在/etc/yum.repos.d/
目录下生成两个repo文件MysqL-community.repo
及 MysqL-community-source.repo
2. 安装MysqL
2.1 使用yum安装MysqL
yum -y install MysqL-community-server
该命令会安装MysqL服务器 (MysqL-community-server) 及其所需的依赖、相关组件
如果安装过程中出现报错
Public key for MysqL-community-icu-data-files-8.0.29-1.el7.x86_64.rpm is not installed
请看步骤2.2
2.2 导入新的MysqL存储库的GPG秘钥
出现步骤2.2原因为官方 MysqL 存储库的 GPG 密钥已过期,无法安装或更新 MysqL 包。
并且官方也提交了该Bug https://bugs.mysql.com/bug.php?id=106188
我们可以使用以下命令重新导入新的密钥来解决该问题
rpm --import https://repo.MysqL.com/RPM-GPG-KEY-MysqL-2022
执行完后再使用步骤2.1中命令来安装即可
2.3 安装完成
若出现以下提示则表示安装完成
3. 启动MysqL
3.1 启动MysqL服务
systemctl start MysqLd.service
3.2 查看MysqL服务状态
systemctl status MysqLd.service
若要检查MysqL是否为开机自启,可执行以下命令查看开机自启列表
systemctl list-unit-files|grep enabled
systemctl enable MysqLd
3.3 停止MysqL服务
systemctl stop MysqLd.service
3.4 重启MysqL服务
systemctl restart MysqLd.service
4. 修改密码
4.1 查看默认密码
在Linux中安装MysqL不会在安装过程中让你设置密码,而是自动生成一个默认密码,并存储在日志文件中
可以使用以下命令查看默认密码
grep "password" /var/log/MysqLd.log
4.2 修改密码
进入MysqL中后更改你的密码(MysqL在不更改默认密码的情况下无法操作数据库)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'AAAbbb123@';
4.3 修改密码规范等级
如果是仅做学习测试使用,不需要过于复杂的密码,可以通过修改密码规范等级来使用更简单的密码
set global validate_password.policy = 0; # 设置密码规范等级为0
set global validate_password.length = 4; # 设置密码最短长度为4
成功后再次使用步骤4.2命令重设密码即可
5.远程访问
5.1 创建远程访问root用户
create user 'root'@'%' IDENTIFIED WITH MysqL_native_password BY 'password';
5.2 为该用户授予全部权限
grant all on *.* to 'root'@'%';
此处root用户名可随意更改
5.3 开放端口3306
firewall-cmd --permanent --add-port=3306 #打开3306端口
firewall-cmd --permanent --remove-port=3306 #关闭3306端口
firewall-cmd --reload #重载使上述命令生效
firewall-cmd --query-port=3306 #查询3306端口是否开放
若嫌麻烦可以直接关闭防火墙,安全性自行评估
systemctl stop firewalld.service #关闭防火墙
firewall-cmd --zone=public --list-ports #查看防火墙所有开放的端口
firewall-cmd --state #查看防火墙状态
5.4 云端服务器开启端口参考
以腾讯云服务器为例
在控制台中选择防火墙,添加规则中应用类型下拉选择MysqL即可
5.5 通过Datagrip远程访问
若为本地虚拟机中Linux,则在Linux中使用ifconfig
查询内网ip地址,使用此ip在Datagrip上连接
若为云端服务器,则使用该服务器公网ip进行访问
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。