Go实战3 Linux下常见DB的安装

117 阅读2分钟

安装前准备

下载开源项目iam,该项目下scripts/install目录下内置了一键安装mariadb和redis的脚本,本质上还是使用了yum安装,各个脚本用到的自定义变量在environment中。
$ git clone --depth=1 https://github.com/marmotedu/iam

在iam/scripts/install/environment.sh中修改mariadb和redis的密码

设置当前linux用户的登陆密码
export LINUX_PASSWORD='123456'

1.MariaDB一键安装
MariaDB是发展最快的 MySQL 分支,相比 MySQL,它加入了很多新的特性,并且它能够完全兼容 MySQL,包括 API 和命令行。另一方面是因为 MariaDB 是开源的,而且迭代速度很快。

install:
/iam/scripts/install/mariadb.sh iam::mariadb::install

unstall
/iam/scripts/install/mariadb.sh iam::mariadb::unstall

验证:
$ mysql -h127.0.0.1 -uroot -p '123456'
MariaDB [(none)]>

2.Redis一键安装

/iam/scripts/install/mariadb.sh iam::redis::install

验证:

 $ redis-cli -h 127.0.0.1 -p 6379 -a '123456' # 连接 Redis,-h 指定主机,-p 指定监听端口,-a 指定登录密码

3.MongoDB安装
配置 MongoDB yum 源,并安装 MongoDB。

1. 配置yum源

$ sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo<<'EOF'
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

$ sudo yum install -y mongodb-org

2. 关闭 SELinux
在安装的过程中,SELinux 有可能会阻止 MongoDB 访问 /sys/fs/cgroup,所以我们还需要关闭 SELinux:


$ sudo setenforce 0
$ sudo sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config # 永久关闭 SELINUX

3. 开启外网访问权限和登录验证
MongoDB 安装完之后,默认情况下是不会开启外网访问权限和登录验证,为了方便使用,我建议你先开启这些功能,执行如下命令开启:

$ sudo sed -i '/bindIp/{s/127.0.0.1/0.0.0.0/}' /etc/mongod.conf
$ sudo sed -i '/^#security/a\security:\n  authorization: enabled' /etc/mongod.conf

4. 启动MongoDB

$ sudo systemctl start mongod
$ sudo systemctl enable mongod # 设置开机启动
$ sudo systemctl status mongod # 查看 mongod 运行状态,如果输出中包含 active (running)字样说明 mongod 成功启动

创建MongoDB账号 1. 创建管理员账户

$ mongo --quiet "mongodb://127.0.0.1:27017"
> use admin
switched to db admin
> db.createUser({user:"root",pwd:"123456",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
> db.auth("root", "123456")
1

2.创建普通用户账户


$ mongo --quiet mongodb://root:'123456'@127.0.0.1:27017/iam_analytics?authSource=admin # 用管理员账户连接 MongoDB
> use iam_analytics
switched to db iam_analytics
> db.createUser({user:"iam",pwd:"123456",roles:["dbOwner"]})
Successfully added user: { "user" : "iam", "roles" : [ "dbOwner" ] }
> db.auth("iam", "123456")
1

login:

$ mongo --quiet mongodb://iam:'123456'@127.0.0.1:27017/iam_analytics?authSource=iam_analytics

4.ElasticSearch安装
1. 下载Es8安装包, 并解压到指定目录

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.2.2-linux-x86_64.tar.gz

tar 

2.修改配置

修改jvm启动参数,主要是根据机器调整内存:
vi /tmp/elasticsearch-8.2.2/config/jvm.options
-Xms256M
-Xmx512M

修改基本信息
vi /tmp/elasticsearch-8.2.2/config/elasticsearch.yml 
cluster.name: test
node.name: test_node
port, data_path, log_path...

3.安全配置
es5可以安装Search Guard进行安全认证配置。

es6.8及7.1之后,xpack功能免费,手动配置可以参考笔者的另一篇文章:
ES安全认证 - 简书 (jianshu.com)

es8 es启动后默认会进行如下安全配置:

  • 启用身份验证和授权,并为弹性内置超级用户生成密码。
  • 为传输层和HTTP层生成TLS的证书和密钥,并使用这些密钥和证书启用和配置TLS。
  • 为Kibana生成一个注册令牌,有效期为30分钟。

如果没有保存,可以手动生成新的密码和token:
If you need to reset the password for the elastic user or other built-in users, run the elasticsearch-reset-password tool. To generate new enrollment tokens for Kibana or Elasticsearch nodes, run the elasticsearch-create-enrollment-token tool. These tools are available in the Elasticsearch bin directory.

Kibana自动配置连接Es:

刷新配置
bin/kibana-setup --enrollment-token <enrollment-token>
启动kibana
bin/kibana

参考连接:
www.elastic.co/guide/en/ki… www.elastic.co/guide/en/el… www.elastic.co/guide/en/el…

image.png

启动\

 nohup ./bin/elasticsearch > /dev/null 2>&1 &
 
 查看日志
 tail -f ./logs/test.log

验证
https://host:9200 image.png

http://host:5601

image.png