# 常用中间件安装
中间件的安装推荐使用 apt 包管理器安装,速度更快。
# MySQL
$ apt update
$ apt install mysql-server mysql-client -y
等待安装完成后即可启动 MySQL 服务:
$ service mysql start
Cloud Studio 进程管理使用
init.d
启动后即可使用 mysql
命令连接,注意此时 MySQL 仅有 root 用户,且无密码保护:
$ mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.28-0ubuntu0.20.04.3 (Ubuntu)
Copyright (c) 2000, 2022, 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_secure_installation
执行安装初始化(启动前需要确保 mysql 服务正在运行)
接下来会进入 MySQL 安装交互模式,可以根据需要进行选择:
- 是否设置密码,输入
Y
,回车。 - 设置密码安全级别,使用最低安全级别即可,输入
0
,回车。 - 输入 root 密码,例如我在此输入
123456
,回车。
请注意:操作系统为了安全起见,输入密码时输入的字符是不可见的。
- 重复 root 密码。输入
123456
,回车。 - 是否继续,输入
Y
,回车。 - 是否移除匿名用户,选择
n
回车,表示不移除。 - 是否禁用 root 用户登录,输入
n
回车,表示不禁用。 - 是否删除测试数据库, 输入
n
回车,表示不删除。 - 刷新数据库权限表,输入
Y
回车。
初始化完成后,即可使用密码进行登录操作了:
$ mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.28-0ubuntu0.20.04.3 (Ubuntu)
Copyright (c) 2000, 2022, 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: [Warning] Using a password on the command line interface can be insecure. 表示不推荐在命令行输入密码,你可以使用
mysql -uroot -p
回车,会进入交互模式输入密码,此模式下输入密码不会被屏幕所记录,因此更安全,MySQL 也不会再显示警告。
# Redis
$ apt update
$ apt install redis-server -y
等待安装完成后即可启动 Redis 服务:
注意这里有问题,需要修改一下
/etc/init.d/redis-server
文件,找到start-stop-daemon -v --start --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS
行,去掉--chuid redis:redis
,否则服务无法正常停止。
$ service redis-server start
启动后即可使用 redis-cli
命令连接,注意此时无密码保护:
$ redis-cli
127.0.0.1:6379> keys *
(empty list or set)
要设置密码可以修改 /etc/redis/redis.conf
配置文件,找到 # requirepass foobared
行,取消前面的 #
符号,foobared
是默认密码,可以将它修改为任意字符串。例如,我这里设置为 123456
。
使用 service redis-server restart
重启 redis 服务。
进入 redis-cli
连接 redis 后,使用 auth 123456
即可认证 redis 密码。
redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
可以看哦,刚进入 redis-cli
时,输入 keys *
指令提示需要认证,输入 auth 123456
后,则可以使用任何指令了。
# MongoDB
$ apt-get update
$ apt-get install -y mongodb
等待安装完成后即可启动 MongoDB 服务:
$ service mongodb start
启动后即可使用 mongo
命令连接, 注意此时无密码保护:
$ mongo
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2022-04-26T15:29:31.343+0800 I CONTROL [initandlisten]
2022-04-26T15:29:31.343+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2022-04-26T15:29:31.343+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2022-04-26T15:29:31.343+0800 I CONTROL [initandlisten]
2022-04-26T15:29:31.344+0800 I CONTROL [initandlisten]
2022-04-26T15:29:31.344+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2022-04-26T15:29:31.344+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2022-04-26T15:29:31.344+0800 I CONTROL [initandlisten]
2022-04-26T15:29:31.344+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 10240 processes, 1048576 files. Number of processes should be at least 524288 : 0.5 times number of files.
2022-04-26T15:29:31.344+0800 I CONTROL [initandlisten]
>
# 简单使用
> db
test
> db.createCollection('test')
{ "ok" : 1 }
> db.test.insert({ hello: "world" })
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("6267a2d1dda0f5afa998af20"), "hello" : "world" }
# 配置数据库连接密码
- 切到 admin 数据库
> use admin
switched to db admin
- 创建管理员账号
> db.createUser({ user: "cs", pwd: "123456", roles: ["root"] })
Successfully added user: { "user" : "cs", "roles" : [ "root" ] }
// 创建完成后退出 mongo 命令行
> exit
- 修改 mongodb 服务配置
$ vim /etc/mongodb.conf
在文件末尾添加以下配置
auth = true
- 重启 mongodb 服务
mongodb service 没有提供 stop 命令, 手动停掉进程
$ ps aux | grep mongodb | awk '{print $2}' | head -n 1 | xargs kill
$ service mongodb start
- 使用上面创建的账号连接 mongodb
$ mongo -u cs -p 123456 --authenticationDatabase admin
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
Server has startup warnings:
2022-04-26T16:55:01.932+0800 I CONTROL [initandlisten]
2022-04-26T16:55:01.932+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2022-04-26T16:55:01.932+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2022-04-26T16:55:01.932+0800 I CONTROL [initandlisten]
2022-04-26T16:55:01.933+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 10240 processes, 1048576 files. Number of processes should be at least 524288 : 0.5 times number of files.
2022-04-26T16:55:01.933+0800 I CONTROL [initandlisten]
>