centos安装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=1
2.安装号了mariadb,启动服务端
systemctl start mariadb
3.mariadb初始化
mysql_secure_installation
4.修改数据库的编码
中文编码设置,编辑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=utf8
5.远程连接数据库时,要先关闭防火墙
iptables -F
创建普通用户
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
遇到的问题:ModuleNotFoundError: No module named 'pymysql'
先查看是否装了pymysql
pip3 install pymysql
我自己都无语了:要么没装django, 要么没装pymysql,要么不关防火墙
mysql主从复制:
环境准备,准备2台机器 ,一个主 一个从
1.主库配置如下
第一步:编辑mysql的配置文件
vim /etc/my.cnf
写入如下内容
[mysqld]
server-id=1
log-bin=s17-mysql-bin # 二进制日志
2.创建一个用于同步的用户
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/
从库导入数据
source /opt/db.dump;
以上两个库处在同一起始点
从库操作如下:
1.编辑从库的 mysql配置文件,写入 一个 身份id号,区别于主库
vim /etc/my.cnf
写入主机身份id
server-id=10
2.通过一条命令,确保主从成功
change master to master_host='192.168.253.132',
master_user='xiaoxue',
master_password='123456',
master_log_file='s17-mysql-bin.000005',
master_log_pos=245;
3.开启slave同步
start slave ;
4.检查主从同步是否正常
show slave status\G
5.可以测试往主库写入数据,查看从库数据
遇到的问题: 1.防火墙没关 systemctl stop firewalld.service
2.master_log_file='s17-mysql-bin.000005', 有空格
查看进程: ps -ef|grep redis
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 alexdsb
4.启动redis服务端,指定配置文件
redis-server s17redis.conf
5.测试访问redis服务端
redis-cli -p 6888
进入之后,可以通过auth指令,进行redis密码验证
验证通过后,可以发送ping,得到pong代表redis正常
过滤出 空白行,以及注释行意外的,有用信息
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的数量
lpush duilie 'alex' 'puxue' # 新建一个队列,从左边放入两个元素
lrange duilie 0 -1 # 查看duilie所有元素
redis的哈希结构 ,如同python字典套字典
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个修改类的操作,就持久化
2.通过配置文件启动 redis服务端,支持rdb持久化的 服务端
#并且可以通过 save指令 手动触发持久化数据
redis-server rdbredis.conf
查看redis的版本: redis-server -v
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功能
OK
3.此时还是临时生效,必须修改配置文件,永久生效
配置文件,修改为如下
[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
redis主从同步机制
1.环境准备,准备3个redis数据库实例, (准备3个redis配置文件即可)
可能用到的命令:
sed 's/6380/6381/g' redis-6380.conf > redis-6381.conf
替换成6381 g 全局范围内 写到 redis-6381.conf 文件中
redis-6379.conf 文件中配置:
port 6379
daemonize yes
pidfile /data/6379/redis.pid
loglevel notice
logfile "/data/6379/redis.log"
dbfilename dump.rdb
dir /data/6379
redis-6380.conf 中一样 把6379替换成6380
redis-6381.conf 同理 把6379替换成6381
2.分别启动三个 数据库
3.此时已经是一主两从的身份了
4.可以演示在主库写入数据,从库读取数据的实验
SLAVEOF 127.0.0.1 6379 # 临时生效 要想永久生效, 写在配置文件中 永久生效(从)
info replication # 查看权限信息
ps -ef|grep redis # 查看进程
遇到的问题: 没有关闭防火墙 (重点) 防火墙关闭后 , 重新启动redis
没有创建 6379 6380 6381 这三个文件夹
手动切换主从同步的故障(当主库挂掉的时候,怎么办 )
1.模拟主库挂掉,kill杀死主库的进程
2.此时俩从库,群龙无手
3.手动的切换两个从库的身份,让其中一个 为新的master
选举6381为新的master,只需要在6381下输入 slaveof no one
然后配置6380为新的slave ,只需要 在6380下输入 slaveof 127.0.0.1 6381
4.此时新的一主一从 就好了
主 6381
从6380
5,可以测试写入数据
centos安装mariadb的更多相关文章
- CentOS 安装MariaDB
1.安装 #同时安装mariadb和mariadb-server [root@bigdata-senior01 yum.repos.d]# yum -y install mariadb mariadb ...
- [部署]CentOS安装MariaDB
环境 虚拟机:VMWare10.0.1 build-1379776 操作系统:CentOS7 64位 步骤 1.添加MariaDB的yum仓库源,在/etc/yum.repos.d/ 下建立 Mari ...
- CentOS安装mariadb做为mysql的替代品
mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SE ...
- 四、CentOS 安装mariadb——Linux学习笔记
A)安装及配置 下载mariadb: yum -y install mariadb-server mariadb 开启mariadb服务: systemctl start mariadb.servic ...
- centos 安装mariadb 替代mysql
yum install mariadb-server mariadb systemctl start mariadbmysql -uroot -p默认密码mysql -uroot -pmysql_se ...
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- Centos 使用YUM安装MariaDB
1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: [azureuser@mono etc]$ cd /etc/yum.repos.d [azureuser@mo ...
- Cenos7 编译安装 Mariadb Nginx PHP Memcache ZendOpcache (实测 笔记 Centos 7.0 + Mariadb 10.0.15 + Nginx 1.6.2 + PHP 5.5.19)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...
- CentOS7 编译安装 Mariadb (实测 笔记 Centos 7.0 + Mariadb 10.0.15)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...
随机推荐
- 一种常见的maven打包后同名文件冲突错误
在使用一些开源框架的时候(比如spark.hadoop.lucene等),偶尔会见到说找不到某个具体实现类或者某个配置(比如spark的akka配置)不见了. 部分例子如下: [Lucene]An S ...
- file_get_contents 在本地测试可以, 但在服务器上报错403
解决方法: Most likely if you don't get any content while accessing an webpage, probably it doesn't want ...
- virtualenvwrapper虚拟环境
之前学习过python的虚拟环境virtualenv,而virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单,不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且 ...
- 一个FORK的面试题(转)
https://coolshell.cn/articles/7965.html https://coolshell.cn/articles/945.html
- 使用yield生成器,用Python实现用户对用户输入信息的监听和过滤
# -*- coding:utf-8 -*-'''''''''生成器是一次生成一个值的特殊类型函数.可以将其视为可恢复函数.调用该函数将返回一个可用于生成连续 x 值的生成[Generator],简单 ...
- NTSC PAL 介绍
NTSC-J是日本地区的模拟 电视系统和视频显示标准,于2011年7月24日在全国47个县中的44个地区停止运营.模拟广播于2012年3月31日在2011年Tōhoku摧毁的三个县停止地震和海啸(岩手 ...
- SQL 约束 索引
--约束constraint--not null 非空约束create table demo01(empno number(4),ename varchar2(10) not null,job var ...
- delphi 中实现当期日期 减去 若干小时的方法
假定当期日期为:2011-08-01 15:00:00 now - 1 :代表前一天的日期 返回值:2011-07-31 15:00:00 now - 1/3 :代表8小时前 ...
- 用node在本机搭建一个极其简单的服务器
首先安装node, 建一个文件夹server, 在里面创建一个server.js,内容如下: var http = require("http"); http.createServ ...
- pycharm 激活方法
方法一: 服务器激活 pycharm 安装: https://www.cnblogs.com/pyyu/articles/9210171.html 方法二: 密钥激活 pycharm 获取激活码 (密 ...