1. MySQL
- 下载MySQL,地址:MySQL :: Download MySQL Community Server
- 版本:previous GA versions - Ubuntu Linux - Ubuntu Linux 18.04 (x86, 64-bit)- DEB Bundle
- 解压tar包,解压出的以下两个包可以删除,不安装
mysql-community-test*
mysql-testsuite*
- 安装前依赖
apt install libtinfo5 libmecab2 libaio1
- 安装
dpkg -i mysql-*.deb
- 过程中会出现界面让你设置root密码,输入两次即可
- 默认配置文件路径:
/etc/mysql/mysql.conf.d/mysqld.cnf
- 启停脚本
systemctl restart/status/start/stop mysql
- 配置编码&表名不区分大小写
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
bind-address = 192.168.9.3
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server = utf8
lower_case_table_names = 1
- 配置用户远程访问权限
# 修改访问权限
grant all privileges on *.* to root@'%' identified by '********' with grant option;
# 刷新权限
flush privileges;
- 配置主主复制
- 参考1:Mysql主主同步详细操作过程_功夫猫的技术博客_51CTO博客
- 参考2:(1条消息) mysql主主同步的配置_CC-梅的博客-CSDN博客_mysql主主同步
- 参考3:史上最全 MySQL主从同步与主主同步 - 树下水月 - 博客园 (cnblogs.com)
- 配置解释
port = 3306
# 一般采用IP最后一段,主主不得一致
server-id=1
# 启动MySQL二进制日志
log-bin=mysql-bin
# 指定同步的数据库名,如果有多个可以分别声明,过滤的压力在master节点上,master本身配置
binlog-do-db=test01
binlog-do-db=test02
# 指定不同步的数据库,如果有多个可以分别声明,过滤的压力在master节点上,master本身配置
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
# 从服务器配置,指定同步、忽略的数据库
replicate-do-db=
replicate-ignore-db=
# 此段配置适用于两台主主同时服务的情况,keepalived+MySQL双主的情况无需此步配置
# 步进值,一般有n台主机就填n
auto_increment_increment=2
# 自动增长的起点,两台主主必须不一致
auto_increment_offset=1
# 默认情况下MySQL会阻止主从同步的数据库function的创建,这会导致我们在导入sql文件时如果有创建function或者使用function的语句将会报错
log-bin-trust-function-creators=1
# 从库作为其它从库的主库时,此参数必须添加;因此主主配置也需要添加
log-slave-updates=1
# 确保binlog日志写入后与硬盘同步,
sync_binlog=1
# 定在slave认为连接断开、中止读取并尝试重新连接之前,slave等待来自master的更多数据或心跳信号的秒数。默认值为60秒(一分钟)。在MySQL5.7.7之前,默认值是3600秒(一小时)。
slave-net-timeout
#
sql_mode=
# 配置此项后,如果创建表结构时指定了不存在的引擎,则报错;不配置,则使用innodb;
NO_ENGINE_SUBSTITUTION
# 对innodb来说,是同样的含义,严格模式;插入数据类型与字段不兼容,则报错回滚;
STRICT_TRANS_TABLES STRICT_ALL_TABLES
# 全局事务ID特性
gtid-mode=on
# 启用后可以在binlog日志中看到语句的原始sql
# mysqlbinlog -vv mysql-bin.000001
# mysqlbinlog --base64-output=decode-rows -vv mysql-bin.000001 解决乱码问题
binlog_rows_query_log_events=1
- repl用户需要两边分别创建赋权;
2. Docker
- 下载安装
# 卸载旧版本
apt remove docker docker-engine docker.io containerd runc
# 安装基础依赖
apt install ca-certificates curl gnupg
# 添加Docker GPG Key
mkdir -m 0755 -p /etc/apt/keyrings
# 拉取 指定输出位置
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 等价
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor > /etc/apt/keyrings/docker.gpg
# 添加APT Repository
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" > /etc/apt/sources.list.d/docker.list
# 更新
apt update
# 安装
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 验证
docker version
- 镜像配置
# 创建daemon.json
touch /etc/docker/daemon.json
vim /etc/docker/daemon.json
# 内容如下
{ "registry-mirrors": ["https://hub-mirror.c.163.com/"] }
# 重启
systemctl daemon-reload
systemctl restart docker
3. zookeeper
- 单机版
# 配置
tickTime=2000
initLimit=10
dataDir=/home/justin/apache-zookeeper-3.5.9/data
clientPort=2181
# 启动
bin/zkServer.sh start
# 验证
telnet localhost 2181
srvr
- 集群
# 配置
tickTime=2000
initLimit=20
syncLimit=5
dataDir=/home/justin/apache-zookeeper-3.5.9/data
server.91=192.168.2.91:2181:2182
server.92=192.168.2.92:2181:2182
server.93=192.168.2.93:2181:2182
# 在dataDir里面创建一个myid文件,与server.id保持一致
4. kafka
- 单机版
# 配置
broker.id=91
log.dirs=/home/justin/kafka_2.13-2.5.1/logs
zookeeper.connect=localhost:2181/kafka
listeners=PLAINTEXT://192.168.2.91:9092
advertised.listeners=PLAINTEXT://192.168.2.91:9092
# 启动
./kafka-server-start.sh -daemon /home/justin/kafka_2.13-2.5.1/config/server.properties
-
集群版类似
-
操作
# 创建主题
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic hades-log
# 描述主题
./kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic hades-log
# 设置主题过期时间
./kafka-configs.sh --bootstrap-server localhost:9092 --alter --entity-type topics --entity-name hades-log --add-config 'delete.retention.ms=3600000'
# 发送消息
./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic hades-log
# 读取消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hades-log --from-beginning
5. redis
- 编译安装(非安装为系统服务)
# 编译环境
sudo apt install make gcc
# 先编译依赖
cd redis-5.0.14-src/deps
make hiredis lua jemalloc linenoise
# 指定安装目录
make PREFIX=/home/justin/redis-5.0.14 install
# 编译出错/失败的清理
make distclean && make clean
# 此种安装方式非安装为系统服务
- 单节点配置
# 建立日志及数据目录
mkdir -p /home/justin/redis-5.0.14/data
mkdir -p /home/justin/redis-5.0.14/log
# 主要配置内容
bind 127.0.0.1 192.168.2.91
protected-mode no
port 6379
daemonize yes
logfile "/home/justin/redis-5.0.14/log/redis.log"
dir /home/justin/redis-5.0.14/data
maxmemory 128MB
# 启动
bin/redis-server conf/redis.conf
6. mongoDB
- 下载地址:https://www.mongodb.com/try/download/community
- mongo community serer 4.4.15 ubuntu 20.04 tgz
- 参考文档:https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-ubuntu-tarball/
- 注意事项:
- 目前MongoDB没有22.04的官方构建
- 参考此方法安装,https://askubuntu.com/questions/1403619/mongodb-install-fails-on-ubuntu-22-04-depends-on-libssl1-1-but-it-is-not-insta
# 安装依赖
sudo apt-get install libcurl4 openssl liblzma5
# mongoDB compass 依赖
apt install -y libgconf-2-4
用户配置
# 关闭安全认证security.authorization=disabled
# 创建root用户
use admin;
db.createUser({user: 'root', pwd: 'rootPwd', roles: ["root"]});
# 创建justin用户
db.createUser({user: 'justin', pwd: 'justinPwd', roles: ["readWriteAnyDatabase"]})
# 创建monitor用户
db.createUser({user: 'monitor', pwd: 'monitorPwd', roles: ["readAnyDatabase"]})
# 开启安全认证security.authorization=enabled
# 登陆校验方式一
# 登陆后
use admin;
db.auth('root', 'rootPwd')
# 登陆校验方式二
# 登陆时
mongo dbName -u userName -p
7. Docker Desktop
- 配置Docker仓库
# 安装Docker依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 配置官方仓库
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新apt信息
sudo apt update
- 下载Docker Desktop DEB包
- 此链接找最新安装包
- 安装Docker Desktop
sudo apt install ./docker-desktop-4.16.2-amd64.deb
- 配置Docker镜像仓库
{
"registry-mirrors": ["https://hub-mirror.c.163.com/"]
}
网友评论