欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

程序员文章站 2024-01-23 10:45:40
...

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
(环境为腾讯云 CentOS 7.4)

此处使用了 PuTTY SSH客户端软件。

CentOS 7.4下使用yum安装MySQL 5.7.21

MySQL官方参考文档:https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html#yum-repo-installing-mysql

1.添加MySQL Yum存储库

首先,将MySQL Yum存储库添加到系统的存储库列表中。这是一次性操作,可以通过安装MySQL提供的RPM来执行。按着这些次序:

  • 转至MySQL开发人员专区中的“下载MySQL Yum存储库”页面(http://dev.mysql.com/downloads/repo/yum/)。CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
  • 选择并下载适用于您的平台的发行包。
  • 使用以下命令安装下载的发行包,替换 platform-and-version-specific-package-name 为下载的RPM包的名称:

    • 对于基于EL7的系统(CentOS 7.4 为 EL7 系统):

      sudo yum localinstall mysql57-community-release-el7-{version-number}.noarch.rpm
      

2.安装MySQL

通过以下命令安装MySQL:

sudo yum install mysql-community-server

这将安装MySQL服务器(mysql-community-server)的软件包以及运行服务器所需组件的软件包,包括客户端软件包(mysql-community-client),客户端和服务器(mysql-community-common)的常见错误消息和字符集以及共享客户端库(mysql-community-libs)。

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等


备注:

使用 PuTTY 往 Linux 主机传文件:

  • 打开cmd窗口,输入命令:

    pscp 源文件路径 aaa@qq.com:目的路径
    
  • 如将aaa.jpg传到/home下,则:

    pscp aaa.jpg aaa@qq.com:/home
    

3.启动MySQL服务器

使用以下命令启动MySQL服务器:

sudo service mysqld start
Starting mysqld:[ OK ]

您可以使用以下命令检查MySQL服务器的状态:

shell> sudo service mysqld status
mysqld (pid 3066) is running.

在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

  • 服务器已初始化。

  • 数据目录中会生成SSL证书和**文件。

  • validate_password 已安装并启用。

  • 超级用户帐户’root’@’localhost已创建。超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:

    sudo grep 'temporary password' /var/log/mysqld.log
    

    通过使用生成的临时密码登录并尽快更改root密码并为超级用户帐户设置自定义密码:

    mysql -uroot -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    

注意
validate_password 是默认安装的。实施的默认密码策略validate_password要求密码至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符,并且总密码长度至少为8个字符。

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等


配置mysql允许远程连接的方法

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限
1、新建用户远程连接mysql数据库
grant all on . to aaa@qq.com’%’ identified by ‘123456’ with grant option;
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
flush privileges;


CentOS 7.4下使用yum安装MongoDB 3.6.3

MongoDB官方参考文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

1.安装MongoDB社区版

1. 配置包管理系统(yum)。

创建一个/etc/yum.repos.d/mongodb-org-3.6.repo文件,以便您可以直接使用安装MongoDB yum。

vi /etc/yum.repos.d/mongodb-org-3.6.repo

版本3.0更改: MongoDB Linux软件包位于以3.0开头的新存储库中。

对于MongoDB
使用以下存储库文件:

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

2. 安装MongoDB软件包。

  • 要安装最新的稳定版本的MongoDB,请发出以下命令:

    sudo yum install -y mongodb-org
    

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

  • 要安装特定版本的MongoDB,请分别指定每个组件包并将版本号附加到包名称,如下例所示:

    sudo yum install -y mongodb-org-3.6.3 mongodb-org-server-3.6.3 mongodb-org-shell-3.6.3 mongodb-org-mongos-3.6.3 mongodb-org-tools-3.6.3
    
  • 您可以指定任何可用的MongoDB版本。但是yum ,当更新的版本可用时,将升级软件包。为防止意外升级,请钉住包装。要固定包装,请将以下exclude指令添加到您的/etc/yum.conf文件中:

    exclude = mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
    

2.运行MongoDB社区版

  1. 启动MongoDB。

    您可以mongod通过发出以下命令来启动进程:

    sudo service mongod start
    
  2. 确认MongoDB已成功启动

    您可以mongod通过检查日志文件的内容以/var/log/mongodb/mongod.log 查看行数来验证过程是否已成功启动

    [initandlisten] waiting for connections on port <port>
    

    其中被配置为在该端口/etc/mongod.conf,27017默认情况下。

    您可以选择通过发出以下命令来确保MongoDB在启动系统后启动:

    sudo chkconfig mongod on
    

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

  3. 停止MongoDB。

    根据需要,您可以mongod通过发出以下命令来停止进程:

    sudo service mongod stop
    
  4. 重新启动MongoDB。

    您可以mongod通过发出以下命令来重新启动进程:

    sudo service mongod restart
    

    您可以通过查看/var/log/mongodb/mongod.log文件中的输出来跟踪错误或重要消息的进程状态。

  5. 开始使用MongoDB。

    mongo在同一台主机上启动一个shell mongod。使用–host命令行选项指定mongod 侦听的本地主机地址和端口:

    mongo --host 127.0.0.1:27017
    

    稍后,要停止MongoDB,请在mongod实例正在运行的终端中 按下 Control+C。

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

3.卸载MongoDB Community

要从系统中完全删除MongoDB,您必须删除MongoDB应用程序本身,配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。

警告

此过程将彻底删除MongoDB及其配置和所有 数据库。这个过程是不可逆的,因此请确保在继续之前备份所有配置和数据。

  1. 停止MongoDB。

    mongod通过发出以下命令来停止进程:

    sudo service mongod stop
    
  2. 删除包。

    删除以前安装的任何MongoDB软件包。

    sudo yum erase $(rpm -qa | grep mongodb-org)
    
  3. 删除数据目录。

    删除MongoDB数据库和日志文件。

    sudo rm -r / var / log / mongodb
    sudo rm -r / var / lib / mongo
    

CentOS 7.4下安装Redis 4.0.8

Redis官方参考文档(中文):http://www.redis.cn/download.html

安装

  • 下载,解压,编译:

    wget http://download.redis.io/releases/redis-4.0.8.tar.gz
    tar xzf redis-4.0.8.tar.gz
    cd redis-4.0.8
    make

    **Error:**cc:command not found

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

    原因:系统没有安装gcc环境

    yum install gcc
    

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

    **Error:**jemalloc/jemalloc.h:No such file or diretory

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

    原因:在README 有这个一段话:

    Allocator

    Selecting a non-default memory allocator when building Redis is done by setting
    the MALLOC environment variable. Redis is compiled and linked against libc
    malloc by default, with the exception of jemalloc being the default on Linux
    systems. This default was picked because jemalloc has proven to have fewer
    fragmentation problems than libc malloc.

    To force compiling against libc malloc, use:

    % make MALLOC=libc
    

    To compile against jemalloc on Mac OS X systems, use:

    % make MALLOC=jemalloc
    

    意思是:在构建Redis时是通过设置MALLOC环境变量选择非默认内存分配器来完成的。
    默认情况下,Redis被编译并链接到libc malloc,除了在Linux系统上jemalloc是默认的。
    挑选这个默认值是因为jemalloc已经证明比libc malloc有更少的fragmentation problems。

    要强制编译libc malloc,请使用:

    %make MALLOC = libc   
    

    要在Mac OS X系统上针对jemalloc进行编译,请使用:

    %make MALLOC = jemalloc
    

    解决方法:

    make MALLOC = libc   
    

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

  • 二进制文件是编译完成后在src目录下,通过下面的命令启动Redis服务:

    src/redis-server
    
  • 你可以使用内置的客户端命令redis-cli进行使用:

    src/redis-cli
    redis> set foo bar
    OK
    redis> get foo
    "bar"
    

CentOS 7.4下使用yum安装PostgreSQL 9.2.23

PostgreSQL官方参考文档:https://www.postgresql.org/download/linux/redhat/

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

一、安装。(包含在发行版中)

这些发行版都默认包含PostgreSQL。要从这些存储库安装PostgreSQL,请在RHEL 5,6和7上使用yum命令:

yum install postgresql-server

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
由于Red Hat系列发行版的策略,PostgreSQL安装将不会启用自动启动或自动初始化数据库。为了完成数据库安装,您需要执行以下两个步骤:

service postgresql initdb
chkconfig postgresql on

CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

二、添加新用户和新数据库

初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。

下面,我们使用postgres用户,来生成其他用户和新数据库。好几种方法可以达到这个目的,这里介绍两种。

第一种方法,使用PostgreSQL控制台。

  • 首先,新建一个Linux新用户,可以取你想要的名字,这里为dbuser。

    sudo adduser dbuser
    
  • 然后,切换到postgres用户。

    sudo su - postgres
    
  • 下一步,使用psql命令登录PostgreSQL控制台。

    psql
    
  • 这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为”postgres=#”,表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。

  • 第一件事是使用\password命令,为postgres用户设置一个密码。

    \password postgres
    
  • 第二件事是创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。

    CREATE USER dbuser WITH PASSWORD 'password';
    
  • 第三件事是创建用户数据库,这里为exampledb,并指定所有者为dbuser。

    CREATE DATABASE exampledb OWNER dbuser;
    
  • 第四件事是将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。

    GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
    
  • 最后,使用\q命令退出控制台(也可以直接按ctrl+D)。

    \q
    

    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等
    CentOS 7.4下安装MySQL、MongoDB、Redis、PostgreSQL等

第二种方法,使用shell命令行。

添加新用户和新数据库,除了在PostgreSQL控制台内,还可以在shell命令行下完成。这是因为PostgreSQL提供了命令行程序createuser和createdb。还是以新建用户dbuser和数据库exampledb为例。

  • 首先,创建数据库用户dbuser,并指定其为超级用户。

    sudo -u postgres createuser --superuser dbuser
    
  • 然后,登录数据库控制台,设置dbuser用户的密码,完成后退出控制台。

    sudo -u postgres psql
    \password dbuser
    \q
    
  • 接着,在shell命令行下,创建数据库exampledb,并指定所有者为dbuser。

    sudo -u postgres createdb -O dbuser exampledb
    

三、登录数据库

添加新用户和新数据库以后,就要以新用户的名义登录数据库,这时使用的是psql命令。

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

上面命令的参数含义如下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口。
输入上面命令以后,系统会提示输入dbuser用户的密码。输入正确,就可以登录控制台了。
psql命令存在简写形式。如果当前Linux系统用户,同时也是PostgreSQL用户,则可以省略用户名(-U参数的部分)。举例来说,我的Linux系统用户名为ruanyf,且PostgreSQL数据库存在同名用户,则我以ruanyf身份登录Linux系统后,可以直接使用下面的命令登录数据库,且不需要密码。

psql exampledb

此时,如果PostgreSQL内部还存在与当前系统用户同名的数据库,则连数据库名都可以省略。比如,假定存在一个叫做ruanyf的数据库,则直接键入psql就可以登录该数据库。

psql

另外,如果要恢复外部数据,可以使用下面的命令。

psql exampledb < exampledb.sql

四、控制台命令

除了前面已经用到的\password命令(设置密码)和\q命令(退出)以外,控制台还提供一系列其他命令。

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。