如何通过RPM包方式在Centos7上安装MySQL8.0数据库?

摘要:人生处处皆学问,工作也是如此!过去不止一次在Linux上安装MySQL,可以说轻车熟路,但是写篇文章总结一下,发现有很多细节值得学习! 安装包选择 为什么用rpm? 在Linux系列上安装软件一般有源码编译安装、rpm(或者dpkg)、yu
人生处处皆学问,工作也是如此!过去不止一次在Linux上安装MySQL,可以说轻车熟路,但是写篇文章总结一下,发现有很多细节值得学习! 安装包选择 为什么用rpm? 在Linux系列上安装软件一般有源码编译安装、rpm(或者dpkg)、yum等方式,优劣主要体现在是否需要网络环境、是否能自动检测依赖,升级和卸载是否方便等。作为非运维人员,也需基本了解。 源码安装支持离线,但即使可以自动创建 Makefile等文件简化安装,整个过程也比较复杂,升级和卸载更麻烦。针对一些没有官方释出的软件,只能选择这种方式。 yum方式可以自动监测依赖,并且安装过程中可以将安装信息写入系统的软件管理程序,升级卸载都比较方便。缺点是多数情况下需要良好的网络环境,尤其是一些没有国内镜像的软件,速度感人。(事实上,有些情况也可以在rpm包所在的目录下以离线方式使用yum,前提是各种依赖都在本地具备)。 rpm相当于官方编译好的安装包,支持离线,能够检测依赖,但部分软件没有rpm包。所以说一定程度上rpm具备了上述两种方式的优点。 实际情况下,要根据具体的环境选择,一般来说rpm优先于源码。 本次安装环境: Centos7.8 (最小安装,root权限) mysql 社区版8.0.16 此处选择上传已经下载好的官方打包bundle文件mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar,也可以在官方网站分别下载未打包的多个文件。 或者在线下载(也可以在本地直接将wget后面的地址复制到浏览器地址栏,将自动开始下载) wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar 解压 注意此处解压命令是,-xvf 没有z tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar 解压后包含8个文件, 安装前环境检测 检查 在MySQL被收购后,MySQL最初的作者担心MySQL存在闭源的风险,在MySQL的分支上开发了mariadb。后来一些Linux分发版就将mariadb作为系统默认安装的数据库系统,理论上mariadb兼容MySQL,甚至某些方面性能更好。(当然,我没有测试过) rpm -qa | grep -i mariadb 可能结果显示 mariadb-libs-5.5.65-1.el7.x86_64 去除依赖 rpm -ev --nodeps mariadb-libs-5.5.65-1.el7.x86_64 安装 安装顺序 应当按照common–>libs–>client–>server的顺序安装,否则安装过程会提醒依赖顺序,其他的为非必须安装包。 rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm 正如文章开始提到的,也可以在解压后的安装包文件下使用yum install命令代替rpm(非必须) 启动与修改密码 启动 systemctl start mysqld 查看状态 systemctl status mysqld 查看初始随机密码 cat /var/log/mysqld.log | grep password 结果类似下面内容,则初始密码为tC0;+kB?BqCg 2020-09-02T05:30:06.739311Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: tC0;+kB?BqCg 使用root角色登录 mysql -u root -p 粘贴或输入初始密码,注意,Linux为了安全,MySQL命令行上可能没有反应或者****,但密码已经输入 修改密码 第一次使用随机生成的密码登录后必须修改密码,否则无法进行其他操作。 密码要求 按照MySQL8.0默认的密码组件,此时的密码要求是必须包含数字,大小写字母,特殊字符,且长度不低于8位,否则会提示密码不符合规则。
阅读全文