3.3 Linux PRM 包安装MySQL
RPM是Redhat Package Manager的缩写,是由RedHat公司开发的软件包安装和管理程序,使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。可以让用户直接以binary方式安装软件包,用此种方式安装MySQL,方便快捷,生产上推荐使用此种方法。以下部署是RPM包基于RHEL8的操作系统安装MySQL8.0。
3.3.1 环境准备
11. 操作系统2[root@jeames ~]# cat /etc/redhat-release3Red Hat Enterprise Linux release 8.1 (Ootpa)452.关闭防火墙6# 查看防火墙是状态7[root@jeames ~]# systemctl status firewalld8# 关闭防火墙9[root@jeames ~]# systemctl stop firewalld10# 取消开机自启动11[root@jeames ~]# systemctl disable firewalld12Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.13Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.14153.selinux关闭16修改参数文件/etc/sysconfig/selinux中SELINUX的值为disabled17[root@jeames ~]# sed -i 's/SELINUX\=enforcing/SELINUX\=disabled/g' /etc/selinux/config
3.3.2 RPM安装包下载
官网下载地址:https://dev.mysql.com/downloads/mysql/
RPM包下载选择Red Hat Enterprise Linux / Oracle Linux
3.3.3 离线yum配置
在这里配置本地yum源,企业服务器不连外网,一般使用通过插入镜像盘或者U盘做依赖源,yum配置好后安装MySQL的依赖包即可。
11.创建挂载路径2mkdir -p /mnt/cdrom342.挂载系统镜像光盘到指定目录5mount -t iso9660 /dev/sr0 /mnt/cdrom673.修改yum源配置文件8# 编辑rhel8-local.repo文件9cd /etc/yum.repos.d10vi rhel8-local.repo1112[localREPO]13name=localhost814baseurl=file:///mnt/cdrom/BaseOS15enable=116gpgcheck=01718[localREPO_APP]19name=localhost8_app20baseurl=file:///mnt/cdrom/AppStream21enable=122gpgcheck=02324# baseurl:25这个是非常重要的一环,表明了repositry的地址,支持ftp协议,http协议和file协议;26# enabled=0/1:27只有两个值,为1时表示repositry可以获取,0表示关闭28# gpgcheck=0/1:29有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的30314.配置好后重建本地缓存32yum clean all33yum makecache34yum repolist3536说明:这一步主要是确保yum能正常使用37385.安装依赖包39yum -y install lrzsz wget perl-Digest-MD540yum -y install numactl41yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make4243说明:这些依赖包都是MySQL 8.0版本所必须的
3.3.4 添加用户及组
以root用户登陆到服务器,在创建用户及组之前,检查是否存在mysql用户组。
11.添加组2[root@jeames ~]# groupadd mysql3删除组:groupdel users452.用户加到组并指定根目录6[root@jeames ~]# useradd -g mysql -d /home/mysql mysql7删除用户:userdel mysql893.修改密码10[root@jeames ~]# passwd mysql11New password:12BAD PASSWORD: The password is shorter than 8 characters13Retype new password:14passwd: all authentication tokens updated successfully.
3.3.5 安装MySQL
将下载好的rpm包上传到服务器,按照如下步骤安装部署。
11.校验安装包2[root@jeames ~]# md5sum mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar3edf4d0f95867f62cdcc97b7349bedc59 mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar4注: md5sum是linux下的shell命令,功能是计算检验MD5效验码,此处是为了MySQL安装包损坏562.解压安装包7[root@jeames ~]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar -C /home/mysql/8必须安装的四个rpm包9mysql-community-common-8.0.27-1.el8.x86_64.rpm --必须,它是公共库10mysql-community-libs-8.0.27-1.el8.x86_64.rpm --它是开发库11mysql-community-client-8.0.27-1.el8.x86_64.rpm --它是客户端的安装包12mysql-community-server-8.0.27-1.el8.x86_64.rpm --它是服务端的安装包13143.授权15[root@jeames ~]# chown -R mysql:mysql /home/mysql/16174.rpm包安装18[root@jeames ~]# cd /home/mysql/19注:包之间相互依赖,所以必须注意安装顺序,先装common,再装libs,再装 client,最后装 server20[root@jeames mysql]# rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm21[root@jeames mysql]# rpm -ivh --force --nodeps mysql-community-libs-8.0.27-1.el8.x86_64.rpm22[root@jeames mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --force --nodeps23[root@jeames mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --force --nodeps24255.确认rpm包安装是否安装26[root@jeames mysql]# rpm -qa | grep mysql27mysql-community-common-8.0.27-1.el8.x86_6428mysql-community-server-8.0.27-1.el8.x86_6429mysql-community-libs-8.0.27-1.el8.x86_6430mysql-community-client-8.0.27-1.el8.x86_64316.初始化32[root@jeames mysql]# mysqld --initialize33347.大小写铭感参数设置35cat /etc/my.cnf配置文件里可以修改36只需要在就需要在[mysqld]下面添加一行配置,37即 lower_case_table_names=038其中 0表示区分大小写,1表示不区分大小写39此处的目的是为了开发的规范,Linux环境一般是要求区分大小写
3.3.6 MySQL启动
使用rpm包安装,RHEL8操作系统会使用systemctl方便灵活的管理MySQL服务,记得设置开机自启动。
11.查看 MySQL服务2[root@jeames ~]# ps -ef | grep mysql3[root@jeames ~]# systemctl status mysqld452.文件所有者和文件关联组授权6[root@jeames ~]# chown mysql:mysql /var/lib/mysql -R783.启动服务9[root@jeames ~]# systemctl start mysqld10[root@jeames ~]# systemctl status mysqld11124.设置开机自启动13[root@jeames ~]# systemctl enable mysqld14155.查看临时密码16[root@jeames ~]# cat /var/log/mysqld.log | grep password
3.3.7创建远程用户
MySQL的用户认证形式是:用户名+主机,MySQL的主机信息可以是本地(localhost),某个IP,某个IP段,以及任何地方等。要从其他IP访问MySQL,就需要创建远程用户。
11.临时密码登陆2[root@jeames ~]# grep 'temporary password' /var/log/mysqld.log3[root@jeames ~]# mysql -uroot -p452.修改本地root用户密码6mysql> alter user root@'localhost' identified with7mysql_native_password by 'root';8mysql> flush privileges;9mysql> select Host,User from mysql.user;10113.创建远程root用户12mysql> create user root@'%' identified with mysql_native_password by 'root';13mysql> grant all on *.* to root@'%' with grant option;14mysql> flush privileges;