自从有了二奶机Surface后,感觉每次在多台本本上部署开发环境,太蛋疼。鉴于此,最近特意买个云服务器,在云端部署了Redis、MySQL数据库服务,废话不多说,快进入正题吧……
Centos 7 下部署Redis
安装
- 添加EPEL仓库
yum install epel-release
- 安装Redis数据库
yum install redis
配置
- 将Redis配置文件模板拷贝一份出来,放置于期望的目录[path]下
cp /etc/redis.conf ~/Redis/redis_6379.conf
- 配置其可被远程客户端访问
由于Redis数据库是部署在服务器上,故,我们需要修改配置文件redis_6379.conf,使其可以被远程客户端访问:
- 注释 bind 127.0.0.1一行
- 将 protected-mode yes 一行更改为 protected-mode no
- 使能后台模式,将 daemonize no 一行更改为 daemonize yes
# bind 127.0.0.1
...
protected-mode no
...
daemonize yes
- 自定义端口
Redis数据库默认使用6379端口,如果使用自定义端口,可以修改port 6379一行
port [portNum]
- 设置密码
取消注释 #requirepass foobared 一行,同时将 foobared 更改为 需要设置的密码
requirepass [password]
- 自定义相关路径
按需自定义配置文件中相关文件的路径和文件名
pidfile /var/run/redis_6379.pid # pid 文件名及路径
...
logfile /var/log/redis/redis.log # Redis 日志文件名及路径
...
dir /home/zgh/Redis/dbData # 数据库数据存放的路径
配置开机自启
从Github的redis源码仓库的获取初始化脚本(redis/utils/redis_init_script),以实现使其在Linux系统下开机自启动
- 配置初始化脚本
将初始化脚本重命名为redis_6379,并做对相关变量值做相应修改,配置如下。然后将其放置在/etc/init.d目录下
...
REDISPORT=6379
EXEC=/usr/bin/redis-server
CLIEXEC=/usr/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF=/home/zgh/Redis/redis_6379.conf # 配置redis config文件路径
...
- 设置脚本的执行权限
chmod +x /etc/init.d/redis_6379
- 添加开启自启动服务
chkconfig redis_6379 on
- 查看当前所有自启的服务列表
chkconfig --list
redis服务的2~5对应的均为on,则该服务可以开机自启
- 重启服务器
重启服务器后,即可看到我们自定义的 redis 数据库服务已经成功自启
reboot
ps -ef | grep redis
如果发现系统下同时有一个redis用户启动的redis服务,可以通过下述命令将默认redis服务停止
systemctl stop redis.service
systemctl disable redis.service
Centos 7 下部署MySQL
安装
- 下载MySQL仓库
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- 安装MySQL仓库
使用rpm命令安装RPM软件包,常用选项: 1. -i: 安装RPM软件包 1. -v: 显示指令执行过程 1. -h: 显示安装进度
rpm -ivh mysql-community-release-el7-5.noarch.rpm
- 确认MySQL仓库是否添加
yum repolist all | grep mysql | grep enabled
- 安装MySQL数据库
yum install mysql-server
配置
- 打开mysql的配置文件
vim /etc/my.cnf
- 自定义端口
在[mysqld]下自定义端口
[mysqld]
port=43306
- 配置字符编码
在[client]、[mysql]、[mysqld]下添加修改下述编码配置
[client]
default-character-set=utf8
...
[mysql]
default-character-set=utf8
...
[mysqld]
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
...
- 配置开机自启
systemctl enable mysqld
- 确认字符编码设置
重启mysqld服务,在CentOS中登陆mysql数据库,确认之前的字符编码是否配置正确
systemctl restart mysqld # 重启mysqld服务
mysql -u [username] -P [port] # 在CentOS服务器中登陆数据库
SHOW VARIABLES LIKE 'character%';
- 配置支持远程客户端访问
先查看当前数据库中的账户信息
select Host, User, Password from mysql.user where User = 'root';
从mysql.user中root账号的数据,可以看到,Host字段为localhost、127.0.0.1,即该root账号只能从该服务器上登陆
添加一个支持任何IP都可以登陆的root账户,并对该账号给予所有数据库和数据表(on *.*)的全部操作权限(all privileges)
grant all privileges on *.* to [username]@[remoteIp] identified by [password] with grant option;
flush privileges; #刷新权限
[username] : 用户名 [remoteIp] : 连接数据库的客户端IP, %