自从有了二奶机Surface后,感觉每次在多台本本上部署开发环境,太蛋疼。鉴于此,最近特意买个云服务器,在云端部署了Redis、MySQL数据库服务,废话不多说,快进入正题吧……
Centos 7 下部署Redis
安装
1
| yum install epel-release
|
配置
- 将Redis配置文件模板拷贝一份出来,放置于期望的目录[path]下
1
| 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
1 2 3 4 5
| ... protected-mode no ... daemonize yes
|
Redis数据库默认使用6379端口,如果使用自定义端口,可以修改port 6379一行
取消注释 #requirepass foobared 一行,同时将 foobared 更改为 需要设置的密码
按需自定义配置文件中相关文件的路径和文件名
1 2 3 4 5
| pidfile /var/run/redis_6379.pid ... logfile /var/log/redis/redis.log ... dir /home/zgh/Redis/dbData
|
配置开机自启
从Github的redis源码仓库的获取初始化脚本(redis/utils/redis_init_script),以实现使其在Linux系统下开机自启动
将初始化脚本重命名为redis_6379,并做对相关变量值做相应修改,配置如下。然后将其放置在/etc/init.d目录下
1 2 3 4 5 6 7 8
| ... 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 ...
|
1
| chmod +x /etc/init.d/redis_6379
|
redis服务的2~5对应的均为on,则该服务可以开机自启
重启服务器后,即可看到我们自定义的 redis 数据库服务已经成功自启
1 2
| reboot ps -ef | grep redis
|
如果发现系统下同时有一个redis用户启动的redis服务,可以通过下述命令将默认redis服务停止
1 2
| systemctl stop redis.service systemctl disable redis.service
|
Centos 7 下部署MySQL
安装
1
| wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
|
使用rpm命令安装RPM软件包,常用选项:
- -i: 安装RPM软件包
- -v: 显示指令执行过程
- -h: 显示安装进度
1
| rpm -ivh mysql-community-release-el7-5.noarch.rpm
|
1
| yum repolist all | grep mysql | grep enabled
|
1
| yum install mysql-server
|
配置
在[mysqld]下自定义端口
在[client]、[mysql]、[mysqld]下添加修改下述编码配置
1 2 3 4 5 6 7 8 9 10 11
| [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 ...
|
重启mysqld服务,在CentOS中登陆mysql数据库,确认之前的字符编码是否配置正确
1 2 3
| systemctl restart mysqld # 重启mysqld服务 mysql -u [username] -P [port] # 在CentOS服务器中登陆数据库 SHOW VARIABLES LIKE 'character%';
|
先查看当前数据库中的账户信息
1
| 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)
1 2
| grant all privileges on *.* to [username]@[remoteIp] identified by [password] with grant option; flush privileges; #刷新权限
|
[username] : 用户名
[remoteIp] : 连接数据库的客户端IP, % 表示允许任何IP的客户端连接
[password] : 密码