一、redis安装
说明:
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
官网地址:http://redis.io/
1.yum安装:
yum install -y redis
2.配置修改 /etc/redis.conf
#监听端口
port 6379
#绑定的IP地址,修改为主机IP或0.0.0.0
bind 127.0.0.1
#Redis密码配置,将foobared修改为redis密码
requirepass foobared
#Redis数据库数量,修改为96
databases 96
3.启动验证
1、启动:systemctl start redis
2、停止:systemctl stop redis
3、重启:systemctl restart redis
4、本地查看进程是否启动成功:ps -ef |grep redis
5、设置开机自启:systemctl enable redis
二、mysql5.7
1. 添加 MySQL 官方Yum 存储库,选择并下载发布包
#MYSQL官方下载地址:
#https://dev.mysql.com/downloads/repo/yum/
wget https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
2.选择MySQL安装版本
查看版本库(对于启用 dnf 的系统, 将命令中的 yum替换为dnf,命令如下:)
dnf repolist all | grep mysql
yum repolist all | grep mysql
3.修改默认安装mysql80为mysql57,禁用mysql80
修改方式如下:
#yum修改方式
yum install -y yum-utils
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
#dnf修改方式
sudo dnf config-manager --disable mysql80-community
sudo dnf config-manager --enable mysql57-community
4.禁用默认 MySQL 模块
(仅限 EL8 系统)基于 EL8 的系统(例如 RHEL8 和 Oracle Linux 8)包含默认启用的 MySQL 模块。除非禁用此模块,否则它会屏蔽 MySQL 存储库提供的包。要禁用包含的模块并使 MySQL 存储库包可见,请使用以下命令(对于启用 dnf 的系统, 将命令中的 yum替换为dnf)
sudo yum module disable mysql
#或 dnf
sudo dnf module disable mysql
5.安装MySQL57
sudo yum install -y mysql-community-server mysql-community-client
6.配置MySQL
使用文档库中的MySQL 5.7配置文件,注意read_only参数默认设置为1,启动后续设置为0或默认设置成0。
安装完成并启动服务后在/var/log/mysqld.log文件中生成了一个随机的默认密码,使用以下命令查看默认的登录密码,首次登陆后请修改密码。
more /var/log/mysqld.log|grep password|awk -F'localhost:' '{print $NF}'
7.修改默认配置,并启动MySQL
#MySQL yum安装默认配置文件路径为/etc/my.cnf,并修改数据库存储目录。
[mysqld]
#Server
port = 3306
skip-name-resolve
lower_case_table_names = 1
max_connections = 3000
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 256M
table_open_cache = 256
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 300
query_cache_size= 16M
innodb_file_format = Barracuda
innodb_file_format_check = ON
innodb_default_row_format=dynamic
character-set-server = utf8
init_connect = 'SET NAMES utf8'
###注意更换data目录###
datadir = /data/mysql
socket = /var/lib/mysql/mysql.sock
read_only = 1
default-storage-engine = InnoDB
innodb_buffer_pool_size = 2G
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_large_prefix = 1
innodb_file_format = BARRACUDA
log-bin-trust-function-creators = 1
#REPLICATION
slave_net_timeout = 30
#注意更换主从同步的server-id,注意唯一
server-id = 2
log-bin = mysql-bin
binlog_format = ROW
replicate-wild-ignore-table = mysql.%
auto-increment-increment = 4
auto-increment-offset = 2
master_info_repository = TABLE
expire_logs_days = 3
log_slave_updates = 1
gtid_mode = ON
enforce_gtid_consistency = true
relay_log_info_repository = TABLE
relay_log_recovery = ON
skip_slave_start=1
log_bin_trust_function_creators=1
#SQL Audit
#server_audit_logging = on
#plugin-load=server_audit=server_audit.so
#server_audit_file_path = /data/sqlaudit
#server_audit = FORCE_PLUS_PERMANENT
#Slow Queries
slow_query_log=1
long_query_time=1
symbolic-links = 0
sql_mode = STRICT_ALL_TABLES,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
设置MySQL开机启动
systemctl enable mysqld
systemctl start mysqld
#复制输出结果
grep generated /var/log/mysqld.log | awk -F": " '{print $NF}'
8.设置密码
#回车后键入上一步复制的密码
mysql -uroot -p
set password=password('******');
#授权新用户,这个仅仅是示例
GRANT ALL ON *.* TO 'mysql'@'%' IDENTIFIED BY '******';
FLUSH PRIVILEGES;
#MySQL 安全授权访问设置建议用如下示例规范:
#单个IP
grant all privileges on *.* to root@'192.168.1.3' identified by '123' with grant option;
flush privileges;
#IP段,使用%代替IP
grant all privileges on *.* to root@'192.168.1.%' identified by '123' with grant option;
or
grant all privileges on *.* to root@'192.168.%.%' identified by '123' with grant option;
flush privileges;