linux命令集合(二)
yum源的配置
yum 得配置yum源,配置阿里云的 两个 yum源 ,阿里云的yum源中,会有 mariadb的软件包
阿里云的yum仓库中,mariadb版本如下
mariadb x86_64 1:5.5.60-1.el7_5 os 8.9 M
mariadb-server x86_64 1:5.5.60-1.el7_5 os 11 M
在企业中,这等版本太低,安全性太低,因此会选择mariadb官方 提供的yum源,下载官方mariadb包
配置mariadb官方的yum源
1.进入yum仓库 /etc/yum.repos.d/目录下
手动创建一个 mariadb.repo
写入如下内容
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=12.此时通过yum安装的软件,都是mariadb官方的了 3.源码编译方式 4.安装号了mariadb,启动服务端 5.mariadb初始化 执行如下命令 mysql_secure_installation 6.修改数据库的编码 1.中文编码设置,编辑mysql配置文件/etc/my.cnf,下入以下内容
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci log-error=/var/log/mysqld.log [client] default-character-set=utf8 [mysql] default-character-set=utf87.远程连接数据库 #创建普通用户 create user zhaoshixun@'%' identified by 'zsx666'; #对用户授权,给予root用户远程登录的权限 #给予root权限,所有的权限,并且可以远程登录 grant all privileges on *.* to root@"%" identified by "redhat"; #立即刷新授权表 flush privileges; 备份mysql的数据 1.命令
mysqldump -u root -p --all-databases > /tmp/db.dump 指定ace_crm数据库导出 mysqldump -uroot -p --database ace_crm > /tmp/ace_crm.dump#参数 --all-databases 导出所有的数据库 2.导入数据库信息 mysql -uroot -p < /tmp/db.dump #导入数据方式2 进入数据库后,执行 MariaDB []> source /tmp/db.dump mysql主从复制 环境准备,准备2台机器 ,一个主 一个从 1.主库配置如下 第一步:编辑mysql的配置文件 vim /etc/my.cnf 写入如下内容
[mysqld] server-id=1 log-bin=s17-mysql-bin2.创建一个用于同步的用户 create user 'shixun'@'%' identified by 'shixundsb'; 3.给予这个账号,一个从的身份 grant replication slave on *.* to 'shixun'@'%'; 4.导出当前数据库的数据,发送给从库,进行导入 mysqldump -u root -p --all-databases > /tmp/db.dump 5.发送主库的mysql数据,给从库 scp /tmp/db.dump root@从库ip:/opt/ 从库操作如下: 1.编辑从库的 mysql配置文件,写入 一个 身份id号,区别于主库 vim /etc/my.cnf 写入主机身份id server-id=10 2.通过一条命令,确保主从成功 change master to master_host='192.168.11.229', master_user='xxx', master_password='xxxxx', master_log_file='mysql-bin.filename', master_log_pos=1510; 3.开启slave同步 start slave ; 4.检查主从同步是否正常 show slave status\G 5.可以测试往主库写入数据,查看从库数据 redis学习 1.卸载通过yum安装的redis数据库 yum remove redis -y 2.通过源码编译安装
1.下载redis的源代码
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解压缩源码
tar -zxf redis-4.0.10.tar.gz
3.进入redis源码目录,编译安装,生成可执行命令
redis不需要执行configure,因为他已经有了makefile
4.通过如下2个命令,生成redis的可执行文件
make && make install
5.此时已经可以启动redis服务端了
3.安全性能下的启动redis ,在redis.conf中,更改默认端口,添加密码,开启安全模式
#手动创建redis的配置文件
touch s17redis.conf
#s17redis.conf 内容如下
[root@master redis-4.0.10]# cat s17redis.conf
bind 0.0.0.0 protected-mode yes port 6888 daemonize yes requirepass alexdsb4.启动redis服务端,指定配置文件 redis-server s17redis.conf 5.测试访问redis服务端 redis-cli -p 6888 进入之后,可以通过auth指令,进行redis密码验证 验证通过后,可以发送ping,得到pong代表redis正常 6. 过滤出 空白行,以及注释行以外的有用信息 grep -v "^#" redis.conf | grep -v "^$" 学习redis常用命令 set key value #设置一个键值对 get key #获取key的值 keys * 查看所有key type key 查看key类型 expire key seconds 过期时间 ttl key 查看key过期剩余时间 -2表示key已经不存在了 persist 取消key的过期时间 -1表示key存在,没有过期时间 exists key 判断key存在 存在返回1 否则0 del keys 删除key 可以删除多个 dbsize 计算key的数量 redis持久化 rdb 模式 与aof模式 1. rdb模式持久化 第一步,准备一个redis配置文件, rdbredis.conf 写入如下内容
daemonize yes #后台运行redis port 6379 #redis端口 logfile /data/6379/redis.log #redis日志文件位置 dir /data/6379/ #指定redis数据文件夹放在哪 dbfilename s17dump.rdb #指定rdb的数据文件 bind 0.0.0.0 requirepass redhat #指定redis的密码 save 900 1 #代表 900秒内 有1个修改key的操作,就进行持久化 save 300 10 # 300秒内 有10个修改类的操作,就持久化 save 60 10000 # 60秒内 有10000个修改类的操作,就持久化通过配置文件启动 redis服务端,支持rdb持久化的服务端,并且可以通过 save指令手动触发持久化数据 redis-server rdbredis.conf 2. aof持久化模式 ,不需要你手动的save触发持久化 配置方式如下 1.修改redis的配置文件,如下 ,再次创建一个 新的aof配置文件 touch aofredis.conf #编辑配置文件,写入如下内容 vim aofredis.conf #写入如下内容
daemonize yes port 6379 logfile /data/6379/redis.log dir /data/6379 appendonly yes #开启aof持久化的参数,就是这个 appendfsync everysec #每秒进行一次aof持久化3.支持aof方式的持久化 redis-server aofredis.conf 4.验证 aof持久化, 写入数据后,杀死进程, 再次启动redis,检查数据 #在不重启的情况下,切换rdb数据到aof模式下 1.环境准备 准备一个rdb的redis数据库,并且是2.0版本以上的 2.登陆此时的rdb数据库,通过两条命令,临时修改 切换到aof模式下,也是吧rdb数据转化为aof的模式
127.0.0.1:6379> CONFIG set appendonly yes #开启AOF功能 OK 127.0.0.1:6379> CONFIG SET save "" #关闭RDB功能 OK3.此时还是临时生效,必须修改配置文件,永久生效 配置文件,修改为如下
[root@master redis-4.0.10]# cat rdbredis.conf daemonize yes port 6379 logfile /data/6379/redis.log dir /data/6379/ bind 0.0.0.0 appendonly yes appendfsync everysec