前段时间我我的Google服务器意外不能用,而且我犯了一件很低级的错误,直接在gcp讲服务器实例给释放掉,致使个人数据所有丢失,如今新搞一个服务器,顺便记录一下CentOS 7.4 MySQL&MariaDB&Redis&Mongodb 的安装html
1祝你们:诸事顺利,2019 发大财!
node
本人将一如既往,更新个人博客,努力为博客园贡献文章!mysql
随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS的仓库中再也不可用,MariaDB已经成为默认的数据库系统。 MariaDB是一个向后兼容的二进制嵌入式MySQL替代品redis
因为mysql在Linux的默认存储库中不可用,这里咱们采用mysql yum 存储库安装mysql软件包sql
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpmmongodb
与其余使用yum的软件包同样安装MySQL,在安装过程当中,yum可能会提示您导入MySQL GPG密钥。 键入y并按Enter键数据库
yum install mysql-community-servervim
安装完成后,启用并启动MySQL服务类型:centos
sudo systemctl enable mysqld缓存
sudo systemctl start mysqld
咱们能够经过键入如下命令来检查MySQL服务状态
sudo systemctl status mysqld
当第一次启动MySQL服务器时,为MySQL根用户生成一个临时密码。 您能够经过运行如下命令找到密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出应该看起来像这样:
2018-05-26T23:50:09.270656Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: HgPW+/Phb2Ql
记下密码 HgPW+/Phb2Ql,由于下一个命令会要求您输入临时的root密码。
运行mysql_secure_installation命令来提升MySQL安装的安全性:
sudo mysql_secure_installation
mysql -u 'name' -p 'xx'
select host, user, authentication_string, plugin from user;
这里host 是不容许远程链接的
在mysql8.0建立用户和受权和以前不太同样了,其实严格上来说,也不能说是不同,只能说是更严格,mysql8.0须要先建立用户和设置密码,而后才能受权
MySQL 安装完成后只支持 localhost 访问,咱们必须设置一下才能够远程访问
3.1 先建立一个用户
create user 'guo_test'@'%' identified by '123123';
3.2 再进行受权
grant all privileges on . to 'guo_test'@'%' with grant option;
3.3 强调一点,若是仍是用原来5.7的那种方式,会报错误
grant all privileges on . to 'root'@'%' identified by '123123';
3.4 受权 root 用户的全部权限并设置远程访问
GRANT ALL ON . TO 'root'@'%';
GRANT ALL ON 表示全部权限,% 表示通配全部 host,能够访问远程。
3.5 刷新权限
flush privileges;
3.6 补充
若是这里咱们远程依然链接不上,请修改用户受权规则
ALTER USER 'guo_test'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
咱们通常状况下,禁止root用户远程链接,因此我这里采起test帐户受权远程链接
ok这里咱们就成功安装上mysql,能够尝试用mysql client remote 连接一下。
redis 安装既能够采用yum install 方式安装,也能够采用源码方式安装,yum方式安装时,为了提升安装速度,能够切换redis镜像源。
这里咱们采用源码方式安装
yum方式安装参考这里-Centos 7下使用yum安装redis
yum方式安装参考这里-Centos 7下使用yum安装redis
安装Redis须要知道本身须要哪一个版本,有针对性的安装,好比若是须要redis GEO这个地理集合的特性,那么redis版本就不能低于3.2版本,因为这个特性是3.2版本才有的。另外须要注意的是,Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版、3.0版),奇数版本是非稳定版(如2.7版、2.9版),生产环境下通常须要使用稳定版本
mkdir -p /home/redis
cd /home/redis
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
redis是经过源码安装的,因此咱们须要先安装gcc编译器,同时安装redis所依赖的tcl包
yum install gcc tcl
tar xzf redis-4.0.2.tar.gz/ tar -xzvf redis-4.0.2.tar.gz cd redis-4.0.2 make make install
Redis没有其余外部依赖,安装过程很简单。编译后在Redis源代码目录的src文件夹中能够找到若干个可执行程序,安装完后,在/usr/local/bin目录中能够找到刚刚安装的redis可执行文件
直接运行redis-server便可启动Redis
在Redis源代码目录的utils文件夹中有一个名为redis_init_script的初始化脚本文件。须要配置Redis的运行方式和持久化文件、日志文件的存储位置。步骤以下:
2.1 配置初始化脚本
首先将初始化脚本复制到/etc/init.d 目录中,文件名为 redis_端口号,其中端口号表示要让Redis监听的端口号,客户端经过该端口链接Redis。而后修改脚本第6行的REDISPORT变量的值为一样的端口号。
2.2 创建如下须要的文件夹
|目录名|Value|
|/etc/redis|存放Redis的配置文件|
|/var/redis/端口号|存放Redis的持久化文件|
以上是须要建立的两个文件以及文件说明,若是没有建立则建立
2.3 修改配置文件
首先将配置文件模板(redis-4.0.2/redis.conf)复制到/etc/redis 目录中,以端口号命名(如“6379.conf”),而后按照下表对其中的部分参数进行编辑。
如今也可使用下面的命令来启动和关闭Redis了
/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop
让Redis随系统自动启动,这还须要对Redis初始化脚本进行简单修改,执行命令:
vim /etc/init.d/redis_6379
在打开的redis初始化脚本文件头部第四行的位置,追加下面两句
# chkconfig: 2345 90 10 # description: Redis is a persistent key-value database
//设置开机执行redis脚本
chkconfig redis_6379 on
经过设置开机启动的操做后,之后也能够直接用下面的命令对Redis进行启动和关闭了,以下
service redis_6379 start
service redis_6379 stop
通过上面的部署操做后,系统重启,Redis也会随着系统自动启动,而且上面的步骤里也配置了Redis持久化,下次启动系统或Redis时,有缓存数据不丢失的好处。
考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,强行终止 Redis 进程可能会致使数据丢失。正确中止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:
redis-cli SHUTDOWN
当Redis收到SHUTDOWN命令后,会先断开全部客户端链接,而后根据配置执行持久化,最后完成退出。
Redis能够妥善处理 SIGTERM信号,因此使用 kill Redis 进程的 PID也能够正常结束Redis,效果与发送SHUTDOWN命令同样。
这里须要将redis里的配置文件端口绑定注释掉
若是设置后,依然没法链接,请检查防火墙
查看当前密码
config get requirepass
此图说明没有设置密码
设置密码
config set requirepass password
编辑redis配置文件
取消这里注释,设置你的密码,重启redis
附录:redis经常使用配置注释:
# 关闭保护模式 protected-mode no # ip地址 bind 192.168.1.230 # 端口 port 6379 # 守护进程开启,默认服务从后台启动 daemonize yes # pid文件 pidfile /redis/pid/redis-6379.pid # 日志级别 loglevel verbose # 日志文件位置 logfile /redis/log/redis-6379.log ## redis持久化rdb,AOF # redis持久化文件路径,默认为当前路径 dir /redis/data # redis持久化文件名称 dbfilename dump-6379.rdb # 开启AOF appendonly yes # AOF文件名称 appendfilename "appendonly-6379.aof" # 子进程在作rewrite时,主进程不调用fsync(由内核默认调度) no-appendfsync-on-rewrite yes ## REPLICATION # 当slave与master断开链接,slave继续提供服务 slave-serve-stale-data yes slave-read-only yes # slave ping master的时间间隔,单位为秒 repl-ping-slave-period 1 # 复制超时,单位为秒,须大于repl-ping-slave-period的值 repl-timeout 10 ## Redis cluster # 关闭集群配置 # cluster-enabled yes # 节点配置文件,这个文件是服务启动时本身配置建立的 cluster-config-file nodes-6379.conf # 集群中各节点相互通信时,容许"失联"的最大毫秒数,若是超过没向其它节点汇报成功,就认为该节点已挂 cluster-node-timeout 5000 # 将该项设置为0,无论slave节点和master节点间失联多久都会一直尝试failover cluster-slave-validity-factor 0 # slave ping master的时间间隔,单位为秒 repl-ping-slave-period 1