Py学习  »  DATABASE

MySQL5.7 安装教程-RPM安装方式

WSharkCoder白鲨码农 • 2 年前 • 255 次点击  
阅读 123

MySQL5.7 安装教程-RPM安装方式

MySQL5.7安装教程

MySQL 作为免费数据库,备受个人开发者追捧的同时也深受各大互联网厂商的青睐!小白最近在掘金平台上开始阅读关于MySQL原理上的知识,因此又又又重新安装MySQl。

环境

Linux版本:Centos 7

安装方式

Linux 平台不像 Windows平台有MySQL-Installer仅点两下就安装好了,通常 MySQL 安装方式仅包括源码编译安装,包管理器(Centos下的yum,Ubuntu下的apt),二进制压缩包+配置环境变量三种安装方式。 由于并不是从MySQL源码开始研究,因此不必采用源码编译安装方式,而二进制压缩包+配置环境变量安装方式又过于复杂,因此此篇采用rpm包管理软件安装方式。此外,RPM包可先下载至操作机然后上传至远端服务机,对于网络比较差的情况比yum安装方式更具有优势。

安装方式: RPM

安装步骤

  • 卸载Centos自带的Mariadb避免依赖问题
    #rpm -qa|grep mariadb
    mariadb-libs-5.5.44-2.el7.centos.x86_64
    #rpm -e --nodeps
    mariadb-libs-5.5.44-2.el7.centos.x86_64
    
    复制代码
  • 下载RMP压缩包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

  • 解压

tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

  • 依次安装各个RMP包

rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

其中Server模块安装会报如下错误:

warning: mysql-community-server-5.7.26-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
   mysql-community-common(x86-64) = 5.7.26-1.el7 is needed by mysql-community-server-5.7.26-1.el7.x86_64
复制代码

报错大致是由于缺少依赖numactl导致的,Yum快速安装即可:

yum install numactl
复制代码

启动MySQL服务端与重设密码

Linux 平台安装过程并没有设置root用户的密码,因此密码其实又MySQL自动生成且可以在/var/log/mysqld.log日志中查询密码生成日志!

  • 启动MySQL服务端
    # service mysqld start
    Redirecting to /bin/systemctl start mysqld.service
    复制代码
  • 日志中查找生成的默认密码
    # cat /var/log/mysqld.log | grep password
      2021-07-31T06:55:29.766809Z 1 [Note] A temporary password is generated for root@localhost: EyK=*uyDQ4uc
    复制代码

然鹅登录过程中十分玄学,每次密码均拼写错误:

# mysql -hlocalhost -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
复制代码

因此,采用修改配置文件方式,使得我们不输入密码链接上MySQL服务器然后修改密码:

  • MySQL服务端配置文件/etc/my.cnf中添加skip-grant-tables
    #MySQL服务端配置模块
    [mysqld] 
    skip-grant-tables
    复制代码
  • 重新启动MySQL服务端 service mysqld restart
  • 连接MySQL服务端并修改密码
    [root@Node-01 MySQL]# mysql -hlocalhost -uroot -p
     Enter password: 
     Welcome to the MySQL monitor.  Commands end 		  	with ; or \g.
     Your MySQL connection id is 2
     Server version: 5.7.35 MySQL Community Server (GPL)
    
     Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
     Oracle is a registered trademark of Oracle Corporation and/or its
     affiliates. Other names may be trademarks of their 		respective
     owners.
     Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
     mysql> 
     mysql> flush privileges; 
     Query OK, 0 rows affected (0.00 sec)
     mysql> set password for 'root'@'localhost'=password('密码'); 
     Query OK, 0 rows affected, 1 warning (0.00 sec)
    复制代码
  • 还原配置文件并重启MySQL服务端
    [root@Node-01 MySQL]# vim /etc/my.cnf
    [root@Node-01 MySQL]# service mysqld restart
    复制代码

当各位遗忘MySQLroot密码的时候也可以使用这种方式修改~

DBA是如何安装?

DBA基本都是采用二进制文件的安装方式,其主要原因是此方式比较通用,在Centos和Ubuntu上安装方式基本一致,因此便于迁移,关于这种方式就不记录了。

官方文档:使用通用二进制文件在 Unix/Linux 上安装 MySQL

本次分享就到这里, 无论分享人实现多少次,总还是没有官方文档写得详细!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/119205
 
255 次点击