Linux(CentOS 7)系统四种安装软件的方式及mysql5.7的详细安装配置

本文以安装mysql为例介绍了Linux(CentOS 7)环境下安装软件的四种方式,比较四种方式的难易程度,并且详细介绍了mysql5.7的安装和配置方法

Linux安装软件的四种方式介绍

四种方式:rpm命令、yum命令、带bin目录的tar安装包和source源码编译安装

四种方式比较

  1. rpm与yum为命令安装,不同的是npm在安装时需要手动下载依赖包,而yum会自动下载依赖

  2. 带bin的tar包和source源码安装区别是前者是编译好的,bin文件夹中就是编译之后的二进制可执行文件,后者需要自己手动编译

四种方式操作说明

  1. rpm与yum命令对比(yum简单,rpm复杂)
  • RPM 全名 RedHat Package Managerment,是由Red Hat公司提出,被众多Linux发行版本所采用,是一种数据库记录的方式来将所需要的软件安装到到Linux系统的一套软件管理机制

  • rpm在安装时有严格的顺序限制,包与包有依赖关系,且安装过程中可能依赖别的包需要手动安装,而yum安装某个功能(例如mysql的server端)会自动下载安装依赖

  • 安装软件:rpm -ivh [软件包名称]
    卸载软件:rpm -e [软件包名称]
    更新软件:rpm -Uvh [软件包名称]

  • yum check-update:列出所有可更新的软件清单命令;

    yum update:更新所有软件或指定软件命令;

    yum install :仅安装指定的软件命令;

    yum list:列出所有可安装的软件清单命令;

    yum remove :删除软件包命令;

    yum search :查找软件包命令:

以安装mysql为例,对比yum和rpm的安装过程

①查看是否安装了mysql/mariadb的服务

[root@localhost ~]# rpm -qa |grep -i mysql
MySQL-client-5.6.23-1.sles11.x86_64
MySQL-server-5.6.23-1.sles11.x86_64
MySQL-shared-5.6.23-1.sles11.x86_64
MySQL-devel-5.6.23-1.sles11.x86_64
...
[root@localhost ~]# root@# rpm -qa |grep -i mariadb
...

②如果安装需要卸载所有服务

[root@localhost ~]#  rpm -e --nodeps MySQL-client-5.6.23-1.sles11.x86_64
[root@localhost ~]#  rpm -e --nodeps MySQL-server-5.6.23-1.sles11.x86_64
...

③使用命令或者去mysql官网下载rpm包

  • yum安装mysql需要先下载一个基础包安装
    [root@localhost ~]#  wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    
    
  • rpm安装需要下载bundle包(rpm文件打包合集)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X1vji1Qh-1653775530547)(/images/image-20220527150223317.png)]

    rpm Bundle表示rpm的打包合集,包含基础包,lib包,client,server 等包如下图

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvgIZB7f-1653775530550)(/images/image-20220527162211385.png)]

④安装:

  • yum方式

    先安装基础包:
    [root@localhost ~]# yum install y mysql57-community-release-el7-10.noarch.rpm 
    [root@localhost ~]# yum install mysql-community-server --nogpgcheck
    --安装完毕
    
  • rpm

    rpm需要依次安装bundle包中的rpm包,包括基础包,库,client和server等
    安装mysql-server服务,只需要安装如下4个软件包即可,使⽤rpm -ivh进⾏安装(按顺序安装,后⾯的
    服务依赖前⾯的服务
    [root@localhost ~]# rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
    [root@localhost ~]# rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
    [root@localhost ~]# rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
    [root@localhost ~]# rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
    安装时如果出现缺少依赖,如少libaio、net-tools还需要yum install [名称]来安装依赖
    

⑤启动mysql,设置密码

1、[root@localhost ~]# systemctl start  mysqld.service -->启动mysql
2、[root@localhost ~]# grep "password" /var/log/mysqld.log -->查看密码 CSLQ:F=Um5i1
    A temporary password is generated for root@localhost: CSLQ:F=Um5i1
3、[root@localhost ~]# mysql -uroot -p -->登录root用户
4、[root@localhost ~]# CSLQ:F=Um5i1 -->输入密码
5、登录进mysql之后设置密码规则(不设置无法修改成简单密码)
  set global validate_password_policy=0;
  set global validate_password_length=1;
6、ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; -->修改密码为root

⑥查找并修改mysql配置文件

1、[root@localhost ~]# which mysql -->查找mysql命令在什么位置
   usr/bin/mysql
2.[root@localhost ~]# /usr/bin/mysql --verbose --help | grep -A 1 'Default options'
   Default options are read from the following files in the given order:
   /etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
返回信息表示首先读取的是/etc/mysql/my.cnf文件,如果前一个文件不存在则继续读/etc/my.cnf文件,如若还不存在便会去读~/.my.cnf文件,这三处即是mysql配置文件存放处,找到修改即可
默认配置文件如下:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


  1. 已编译tar包(带bin目录的tar)和source源码安装区别是前者是编译好的,bin文件夹中就是编译之后的二进制可执行文件,后者需要自己手动编译

    ①带bin的tar包安装

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bwGs04p4-1653775530552)(/images/image-20220527172826841.png)]

    1、[root@localhost ~]#  tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 
    2、[root@localhost ~]#  cp -r mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql -->拷贝文件夹到/usr/local目录下并重命名为mysql
    3、[root@localhost ~]# mkdir /usr/local/mysql/data /usr/local/mysql/logs -->创建data和logs文件夹
    4、[root@localhost ~]#  groupadd mysql  -->添加mysql用户组
    5、[root@localhost ~]#  useradd -r -g mysql mysql  -->向mysql用户组添加mysql用户,-r <参数表示mysql用户是系统用户,不可用于登录系统,-g 参数表示把mysql用户添加到mysql用户组中
    6、chown -R mysql:mysql /usr/local/mysql/ -->将mysql目录权限分配给mysql用户组下的mysql用户
    已编译tar包安装需要新建mysql用户和用户组,并将mysql目录权限分配给用户,若不进行此操作,在mysql服务启动时会报Starting MySQL. ERROR! The server quit without updating PID file错误
    7、[root@localhost ~]#  vim /etc/my.cnf -->在/etc下新增配置文件
    [mysqld]
    port = 3306
    user = mysql
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    socket =  /usr/local/mysql/data/mysql.sock
    bind-address = 0.0.0.0
    pid-file =  /usr/local/mysql/data/mysqld.pid
    character-set-server = utf8
    collation-server = utf8_general_ci
    max_connections = 200
    log-error =  /usr/local/mysql/logs/mysqld.log
    8、[root@localhost ~]# cd /usr/local/mysql/bin/ -->进入mysql的bin目录
    9、[root@localhost ~]#./mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/  --initialize -->初始化
    10、[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql -->将mysql.server放置到/etc/init.d/mysql中
    11、[root@localhost ~]# service mysql start -->启动服务
    12、[root@localhost ~]# cat /data/mysql/mysql.err -->日志最后一行有随机生成的初始密码,可登录mysql
    13、[root@localhost ~]# ln -s  /usr/local/mysql/bin/mysql    /usr/bin -->创建软连接到/usr/bin可以全局使用mysql命令(方便登录mysql)
    14、[root@localhost ~]# mysql -uroot -p -->登录mysql
    15、[root@localhost ~]# 输入12步得到的密码,登录mysql
    

    ②source源码安装

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qrjZeQmQ-1653775530553)(/images/Snipaste_2022-05-27_18-22-03.png)]

    (1)创建安装目录
     [root@localhost ~]# mkdir /usr/local/mysql/{data,logs,tmp,run} -p
    (2)首先安装源码编译所需要的包
     [root@localhost ~]# yum -y install make gcc-c++ cmake bison-devel  ncurses-devel
    (3)解压
     [root@localhost ~]# tar -zxvf mysql-5.7.27.tar.gz 
     [root@localhost ~]# tar -zxvf mysql-boost-5.7.27.tar.gz  #(不需要安装,在安装mysql时自动安装,)
    两个文件解压以后都会在同一个目录上 mysql-5.7.27 
    
    (4)编译安装(编译参数按实际情况制定)
     cd mysql-5.7.27
     cmake . \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DDOWNLOAD_BOOST=1 \
    -DWITH_BOOST=/opt/software/mysql-5.7.27/boost \
    -DSYSCONFDIR=/etc \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \
    -DENABLE_DTRACE=0 \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_EMBEDDED_SERVER=1
     
    make & make install
    (5)/etc/my.cnf配置mysql
    (6) ./mysqld --defaults-file=/etc/my.cnf --initialize #初始化
    (7) cp support-files/mysql.server /etc/init.d/mysql #启动项设置
    (8) service mysqld start
    (9)登录不在赘述
    
    

ke & make install
(5)/etc/my.cnf配置mysql
(6) ./mysqld --defaults-file=/etc/my.cnf --initialize #初始化
(7) cp support-files/mysql.server /etc/init.d/mysql #启动项设置
(8) service mysqld start
(9)登录不在赘述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值