📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
文章目录
- 前言
- 📣 1.概述
- 📣 2.环境准备
- 📣 3.RPM安装包下载
- 📣 4.离线yum配置
- 📣 5.添加用户及组
- 📣 6.安装MySQL
- 📣 7.MySQL启动
- 📣 8.创建远程用户
- ✨ 每日一练
前言
本文中的部署是RPM包基于RHEL8的操作系统安装MySQL8.0📣 1.概述
RPM是Redhat Package Manager的缩写,是由RedHat公司开发的软件包安装和管理程序,使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。可以让用户直接以binary方式安装软件包,用此种方式安装MySQL,方便快捷,生产上推荐使用此种方法。以下部署是RPM包基于RHEL8的操作系统安装MySQL8.0。
📣 2.环境准备
1.操作系统
[root@jeames ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 (Ootpa)
2.关闭防火墙
[root@jeames ~]# systemctl stop firewalld
#取消开机自启动
[root@jeames ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
3.selinux关闭
修改参数文件/etc/sysconfig/selinux中SELINUX的值为disabled
[root@jeames ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
修改完成后需要重启才生效
📣 3.RPM安装包下载
官网下载地址:https://dev.mysql.com/downloads/mysql/
RPM包下载选择Red Hat Enterprise Linux / Oracle Linux
📣 4.离线yum配置
在这里配置本地yum源,企业服务器不连外网,一般使用通过插入镜像盘或者U盘做依赖源,yum配置好后安装MySQL的依赖包即可。
1.创建挂载路径
mkdir -p /mnt/cdrom
2.挂载系统镜像光盘到指定目录
mount -t iso9660 /dev/sr0 /mnt/cdrom
3.修改yum源配置文件
# 编辑rhel8-local.repo文件
cd /etc/yum.repos.d
vi rhel8-local.repo
[localREPO]
name=localhost8
baseurl=file:///mnt/cdrom/BaseOS
enable=1
gpgcheck=0
[localREPO_APP]
name=localhost8_app
baseurl=file:///mnt/cdrom/AppStream
enable=1
gpgcheck=0
# baseurl:
这个是非常重要的一环,表明了repositry的地址,支持ftp协议,http协议和file协议;
# enabled=0/1:
只有两个值,为1时表示repositry可以获取,0表示关闭
# gpgcheck=0/1:
有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的
4.配置好后重建本地缓存
yum clean all
yum makecache
yum repolist
说明:这一步主要是确保yum能正常使用
5.安装依赖包
yum -y install lrzsz wget perl-Digest-MD5
yum -y install numactl
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
说明:这些依赖包都是MySQL 8.0版本所必须的
📣 5.添加用户及组
以root用户登陆到服务器,在创建用户及组之前,检查是否存在mysql用户组
1.添加组
[root@jeames ~]# groupadd mysql
删除组:groupdel users
2.用户加到组并指定根目录
[root@jeames ~]# useradd -g mysql -d /home/mysql mysql
删除用户:userdel mysql
3.修改密码
[root@jeames ~]# passwd mysql
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
📣 6.安装MySQL
将下载好的rpm包上传到服务器,按照如下步骤安装部署。
1.校验安装包
[root@jeames ~]# md5sum mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
edf4d0f95867f62cdcc97b7349bedc59 mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
注: md5sum是linux下的shell命令,功能是计算检验MD5效验码,此处是为了MySQL安装包损坏
2.解压安装包
[root@jeames ~]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar -C /home/mysql/
必须安装的四个rpm包
mysql-community-common-8.0.27-1.el8.x86_64.rpm --必须,它是公共库
mysql-community-libs-8.0.27-1.el8.x86_64.rpm --它是开发库
mysql-community-client-8.0.27-1.el8.x86_64.rpm --它是客户端的安装包
mysql-community-server-8.0.27-1.el8.x86_64.rpm --它是服务端的安装包
3.授权
[root@jeames ~]# chown -R mysql:mysql /home/mysql/
4.rpm包安装
[root@jeames ~]# cd /home/mysql/
注:包之间相互依赖,所以必须注意安装顺序,先装common,再装libs,再装 client,最后装 server
[root@jeames mysql]# rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm
[root@jeames mysql]# rpm -ivh --force --nodeps mysql-community-libs-8.0.27-1.el8.x86_64.rpm
[root@jeames mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --force --nodeps
[root@jeames mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --force --nodeps
5.确认rpm包安装是否安装
[root@jeames mysql]# rpm -qa | grep mysql
mysql-community-common-8.0.27-1.el8.x86_64
mysql-community-server-8.0.27-1.el8.x86_64
mysql-community-libs-8.0.27-1.el8.x86_64
mysql-community-client-8.0.27-1.el8.x86_64
6.初始化
[root@jeames mysql]# mysqld --initialize
7.大小写铭感参数设置
cat /etc/my.cnf配置文件里可以修改
只需要在就需要在[mysqld]下面添加一行配置,
即 lower_case_table_names=0
其中 0表示区分大小写,1表示不区分大小写
此处的目的是为了开发的规范,Linux环境一般是要求区分大小写
📣 7.MySQL启动
使用rpm包安装,RHEL8操作系统会使用systemctl方便灵活的管理MySQL服务,记得设置开机自启动。
1.查看 MySQL服务
[root@jeames ~]# ps -ef | grep mysql
[root@jeames ~]# systemctl status mysqld
2.文件所有者和文件关联组授权
[root@jeames ~]# chown mysql:mysql /var/lib/mysql -R
3.启动服务
[root@jeames ~]# systemctl start mysqld
[root@jeames ~]# systemctl status mysqld
4.设置开机自启动
[root@jeames ~]# systemctl enable mysqld
5.查看临时密码
[root@jeames ~]# cat /var/log/mysqld.log | grep password
如下图所示,可以确认MySQL的服务已正常运行,若无法启动,请排查错误日志。
📣 8.创建远程用户
MySQL的用户认证形式是: 用户名+主机,MySQL的主机信息可以是本地(localhost),某个IP,某个IP段,以及任何地方等。要从其他IP访问MySQL,就需要创建远程用户。
1.临时密码登陆
[root@jeames ~]# grep 'temporary password' /var/log/mysqld.log
[root@jeames ~]# mysql -uroot -p
2.修改本地root用户密码
mysql> alter user root@'localhost' identified with
mysql_native_password by 'root';
mysql> flush privileges;
mysql> select Host,User from mysql.user;
3.创建远程root用户
mysql> create user root@'%' identified with mysql_native_password by 'root';
mysql> grant all on *.* to root@'%' with grant option;
mysql> flush privileges;
修改后通过其他IP就可以正常访问MySQL数据库了,如下图所示:
✨ 每日一练
drop、delete与truncate的区别是什么?( )
1.三者都表示删除,但是三者有一些差别:
2.在不再需要一张表的时候,用drop;
3.在想删除部分数据行时候,用delete;
4.在保留表而删除所有数据的时候用truncate。
A.4
B.1, 2, 3
C.全部都对
D.2, 3, 4
❤️❤️❤️ 请在评论区留下你的答案,我会做出详细的解答。