记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服务器实例给释放掉,导致我的数据全部丢失,现在新搞一个服务器,顺便记录一下CentOS 7.4 MySQL&MariaDB&Redis&Mongodb 的安装
1祝大家:诸事顺利,2019 发大财!
本人将一如既往,更新我的博客,努力为博客园贡献文章!
Mysql 安装
随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS的仓库中不再可用,MariaDB已经成为默认的数据库系统。 MariaDB是一个向后兼容的二进制嵌入式MySQL替代品
由于mysql在Linux的默认存储库中不可用,这里我们采用mysql yum 存储库安装mysql软件包
下载并添加存储库
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

安装MySQL 8.0包(这里我们直接安装mysql 8.0)
与其他使用yum的软件包一样安装MySQL,在安装过程中,yum可能会提示您导入MySQL GPG密钥。 键入y并按Enter键
yum install mysql-community-server

启动MySQL
安装完成后,启用并启动MySQL服务类型:
sudo systemctl enable mysqld
sudo systemctl start mysqld
我们可以通过键入以下命令来检查MySQL服务状态
sudo systemctl status mysqld

MySQL安全
当第一次启动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
mysql -u 'name' -p 'xx'
- 选取mysql库,查看user表
select host, user, authentication_string, plugin from user;

这里host 是不允许远程连接的
- 授权 root 用户的所有权限并设置远程访问
在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账户授权远程连接

MySQL 安装完成
ok这里我们就成功安装上mysql,可以尝试用mysql client remote 链接一下。
MariaDb 安装
Redis 安装
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版),生产环境下一般需要使用稳定版本
下载redis 安装包
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
启动Redis
- 直接启动
直接运行redis-server即可启动Redis

- 通过初始化脚本启动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的方式应该是向Redis发送SHUTDOWN命令,方法为:
redis-cli SHUTDOWN
当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。
Redis可以妥善处理 SIGTERM信号,所以使用 kill Redis 进程的 PID也可以正常结束Redis,效果与发送SHUTDOWN命令一样。
测试客户端连接

测试远程连接

这里需要将redis里的配置文件端口绑定注释掉

如果设置后,依然无法连接,请检查防火墙
设置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
Mongodb 安装
记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb的更多相关文章
- CentOS 6.9上安装Mysql 5.7.18 安装
CentOS 6.9上安装Mysql 5.7.18 安装 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-g ...
- [原]CentOS 6.5 上安装 MySQL 5.6
参考文档: http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html 1. 下载 rpm 文件:wget http ...
- CentOS 7.4上安装mysql 8.0
我的CentOS版本通过从cat /etc/centos-release查看得知 CentOS Linux release 7.4.1708 (Core) 因此需要yum删除mariadb,然后安装m ...
- 2、在VM上的 CentOS 6.5 上安装mysql
1.查看系统是否安装了MySQL 使用命令: #rpm -qa | grep mysql 2.卸载已安装的MySQL 卸载mysql命令如下: #rpm -e - ...
- 在CentOS Linux 7.5上安装MySQL
本文来自与https://www.linuxidc.com/Linux/2018-05/152574.htm 随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS ...
- 在linux(CentOS-6.7_x86_64)上安装mysql成功记录
查看linux服务器的yum源设置: [root@hadoop03 yum.repos.d]# cd /etc/yum.repos.d [root@hadoop03 yum.repos.d]# ll ...
- 在centos上安装mysql
本文依然是用的xftp上传gz文件,然后在xShell上操作的,如果没有安装使用这两个文件的请查阅之前的博客. 1.将下载好的文件用xftp上传到对应的位置. 2.解压文件:tar -zvxf m ...
- 在Linux机器上安装MySQL
在Linux机器上安装MySQL,仔细认真些就没有问题. CentOS 7下MySQL 5.7安装.配置与应用_数据库技术_Linux公社-Linux系统门户网站 搞不定的话,直接删掉这个MySQL, ...
- 在CentOS 6.4上安装Puppet配置管理工具
在CentOS 6.4上安装Puppet配置管理工具 linux, puppetAdd comments 五052013 上篇说了下在ubuntu12.04上安装puppet,安装的版本为puppet ...
随机推荐
- Apache Storm 核心概念
前言: Storm读取实时数据流,并传递给处理单元,最终输出处理后的数据. 下图描述了storm的处理数据的主要结构. 元组(Tuple) : 元组是Storm提供的一个轻量级的数据格式, ...
- 3种方法来在Linux电脑上查找文件
如果你不太了解Linux命令,那么在Linux系统里查找文件是比较困难的.只要使用多种不同的终端命令,可以很快地找到文件.Linux命令比其它操作系统的搜索功能更加强大,掌握这些命令就能你完全控制这些 ...
- [Swift]LeetCode324. 摆动排序 II | Wiggle Sort II
Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]... ...
- [Swift]LeetCode775. 全局倒置与局部倒置 | Global and Local Inversions
We have some permutation Aof [0, 1, ..., N - 1], where N is the length of A. The number of (global) ...
- [Swift]LeetCode811. 子域名访问计数 | Subdomain Visit Count
A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...
- 面试官:说说一条查询sql的执行流程和底层原理?
一条查询SQL执行流程图如下 序章 自我介绍 我是一条sql,就是一条长长的字符串,不要问我长什么样,因为我比较傲娇. 额~~不是我不说啊,因为细说起来,我可以细分为DML(Update.Insert ...
- 微信小程序day01-JSON配置
微信小程序 小程序代码构成 JSON配置WXML模板WXSS样式JS逻辑 1.JSON配置 小程序配置 app.json app.json: 是当前小程序的全局配置,包括了小程序的所有页面路径.界面表 ...
- Python内置函数(60)——staticmethod
英文文档: staticmethod(function) Return a static method for function. A static method does not receive a ...
- RTMP、HTTP-FLV、HLS,你了解常见的三大直播协议吗
随着直播行业大火,游戏.乐秀.教育.发布会等直播类产品层出不穷,能够满足各方人员的需求.在直播中,总能在其中找到适合自己的产品内容.喜欢玩游戏的可以看游戏直播,想学点工作技能的,也可以观看大牛现场授课 ...
- 【朝花夕拾】Android性能篇之(四)Apk打包
前言 APK,即Android Package,是将android程序和资源整合在一起,形成的一个.apk文件.相信所有的Android程序员是在IDE的帮助下,完成打包轻而易举,但对打包流程真正清楚 ...