4.27Linux(5)

2019-4-27 15:39:03

学了Linux好几天,发现Linux用着还是很爽 你一定要知道你要干啥!!!!

列一下参考博客:

mysql博客地址:https://www.cnblogs.com/pyyu/p/9467289.html

redis 博客地址:https://www.cnblogs.com/pyyu/p/9843950.html

          https://www.cnblogs.com/pyyu/p/9467279.html

下周一回家买过车票 然后把Linux彻底看完!!!然后把博客cp一下!!

越努力,越幸运! 永远不要高估自己!

 

说一下 

自己服务器中 自行安装软件包都在 /opt下, 安装包在 /home

 

数据库主从关系!!!简历的加分点!!!!

 

day107Linux笔记


mysql博客地址:https://www.cnblogs.com/pyyu/p/9467289.html
redis博客地址:https://www.cnblogs.com/pyyu/p/9843950.html


mariadb其实就是mysql
mysql已经被oracle收购,它即将闭源,马上要开始收费了
因此还想免费试用开源的数据库mysql,就在centos7上,将mysql分支为mariadb


安装mariadb,在centos7底下:
linux软件包的格式  mysql.rpm 

1.通过yum去安装
    1.linux的yum软件管理目录在 /etc/yum.repos.d
    2.在这个目录底下,主要是*.repo这个文件,就会被识别为yum源文件
    
第一种方式是,通过阿里云的yum源去下载(第三方的yum源,可能会版本较低,且软件不全,可能找不到)
CentOS-Base.repo    epel.repo   

    yum install mariadb-server   #yum安装mariadb    因为这个阿里云特别快,咱们用他去学习,加速下载  300kb/s 
    
    mariadb-server                     x86_64                     1:5.5.60-1.el7_5                       base                      11 M
    为依赖而安装:
    mariadb                            x86_64                     1:5.5.60-1.el7_5                       base                     8.9 M
    perl-DBD-MySQL                     x86_64                     4.023-6.el7                            base                     140 k
    为依赖而更新:
    mariadb-libs                       x86_64                     1:5.5.60-1.el7_5                       base                     758 k




第二种方式是,通过mariadb官方的yum源去下载(一定是这个软件最正确的yum源,且包都是最新的)
    1.下载一个第三方的软件,顺序就是去官网找到这个软件的下载方式

    
    yum install MariaDB-server MariaDB-client  #区分大小写  ,这个方式是取国外下载mariadb,速度太慢  30kb/s  

依赖关系解决

=====================================================================================================================================
 Package                              架构                  版本                                        源                      大小
=====================================================================================================================================
正在安装:
 MariaDB-client                       x86_64                10.1.37-1.el7.centos                        mariadb                 40 M
 MariaDB-server                       x86_64                10.1.37-1.el7.centos                        mariadb                104 M
 MariaDB-shared                       x86_64                10.1.37-1.el7.centos                        mariadb                1.3 M
      替换  mariadb-libs.x86_64 1:5.5.56-2.el7
为依赖而安装:
 MariaDB-common                       x86_64                10.1.37-1.el7.centos                        mariadb                123 k
 boost-program-options                x86_64                1.53.0-27.el7                               base                   156 k
 galera                               x86_64                25.3.24-1.rhel7.el7.centos                  mariadb                8.1 M
    

    
    
1.下载mariadb,通过阿里云的源
yum install mariadb-server
    
2.通过yum安装的软件,systemctl start/stop/restart/status  mariadb  
    
systemctl start mariadb #启动mariadb数据库

3.初始化mariadb
mysql_secure_installation    #直接输入这个命令,设置root密码,删除匿名用户等等操作

4.配置myariadb远程登录,可以通过windows,pycharm等客户端进行连接,在远端登录的话,就必须得输入redhat这个密码

grant all privileges on *.* to root@'%' identified by 'redhat';

授予 所有的 权限  在  所有的库.所有的表   用户名@"所有的地址"     identified by   "密码";

5.刷新授权表,使得权限立即生效
flush privileges;

6.更改mysql的密码
set password = PASSWORD('redhat123');

7.创建普通用户s14
create user s14@'%' identified by 's14666';

8.查询用户信息
select host,user,password  from user;

9.授权语句
grant 权限 on 数据库.表名 to 账户@主机名            对特定数据库中的特定表授权
grant 权限 on 数据库.* to 账户@主机名              对特定数据库中的所有表给与授权
grant 权限1,权限2,权限3 on *.* to 账户@主机名      对所有库中的所有表给与多个授权
grant all privileges on *.* to 账户@主机名      对所有库和所有表授权所有权限
grant create,select,insert on *.* to root@'%' identified by "密码"

10.数据库的中文设置
    1.查看数据库编码
    \s 
    2.修改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
    
    3.修改了配置文件,重启服务
    systemctl restart mariadb 

    4.查看数据库创建的编码,只有在更新了数据库编码之后,创建的数据库,才会使用这个编码
    show create database s16;
    
    5.可以测试创建table,写入中文数据
    
11.mysql的数据备份
    1.通过命令导出全部数据
    mysqldump -u root -p --all-databases > /data/db.dump
    
    2.可以测试删除一些无关紧要的db,例如s14,test这样的数据
    
    
    3.导入数据库的db文件,在mysql命令行中输入这个命令
    mysql >    source /opt/db.dump   #这一步是输入的sql语句,在mysql中输入,导入数据
    
    4.第二种方式导入数据,通过mysql命令
    mysql -uroot -p <  /opt/db.dump  
    

mysql主从复制的步骤:

环境准备:
准备两台服务器,安装两个mariadb

主库是:192.168.12.96    mater
从库是:192.168.12.87    slave  



主库的操作如下:
1.开启binlog功能,修改/etc/my.cnf 
vim /etc/my.cnf #写入

[mysqld]
server-id=1   #指明主库的身份id为1
log-bin=mysqls14-bin   #指明binlog的日志名

2.修改了配置文件,重启mariadb,使得binlog生效
systemctl restart mariadb  

3.登录mysql,检查主库的状态
show master status; 

4.创建一个用户,用于进行主从同步
create user 'kangchen'@'%' identified by 'kangchen666';

5.授予账号权限,授予一个从库的身份权限
grant replication slave on *.* to 'kangchen'@'%';

6.锁定mysql的表,防止数据写入
flush table with read lock;

7.主从同步,将从库与主库的数据,保持一致后,它俩都在同一个起跑线,然后解除锁表,一同写入数据,保证数据一致性
    1.导出当前的数据,用于slave机器导入数据,保证在一个起始点
    mysqldump -u root -p --all-databases > /data/db.dump
    2.将此db.dump文件远程传输给 slave机器,用于导入
    scp /data/db.dump  root@192.168.12.87:/tmp/
    3.登录slave从库,导入主库的数据信息
    mysql >  source /tmp/db.dump 
    4.查看主库和从库的信息,是否一致


8.查看主库的状态信息,binlog信息
show master status; 

9.解锁表,开始主从同步
unlock tables;



从库的设置:

1.在/etc/my.cnf当中打开server-id 
vim /etc/my.cnf 

2.重启myariadb

3.查看slave机器的身份信息
show variables like 'server_id';
show variables like 'log_bin';

4.通过命令,开启主从同步技术
change master to master_host='192.168.12.96',
master_user='kangchen',
master_password='kangchen666',
master_log_file='mysqls14-bin.000001',
master_log_pos=671;

5.开启slave 
start slave;

6.检查slave状态,检查两条参数,如果都是yes,即主从ok
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

            
7.此时可以在主库中写入数据,查看从库中是否生成了记录

主库:插入数据

从库:检查数据







    
    

    
    
    
    
    
    
    
    
    
    
Mariadb 的sql:

增
create database  s14;
create table s14tb(id int,name char);
insert into s14tb (id ,name) values(1,"s14")


删
drop database s14;
drop table s14tb;  #删除整张表
delete from s14tb;




改
update 




查
    
    
select id,name,addr from table;
    
    
    
redis相关配置
1.yum  源码 rpm  
yum 快速,间接,高效,解决依赖关系,(自动安装到某个路径,不可控),通过yum安装的软件查询命令
    rpm -ql nginx 
    yum源的软件包可能版本非常低
    
源码安装,可扩展第三方的功能(可以指定目录安装, configure --prefix=/opt/python36/)
    可以通过官网的最新代码,进行编译安装


通过源码安装
1.在线下载redis源码包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解压缩redis源码包,如果源码包带有.gz结尾,需要通过gzip指令扩展,也就是-z的参数
tar -zxvf redis-4.0.10.tar.gz  #解压缩这个文件,且显示解压缩过程
3.切换目录到redis源码包
cd redis-4.0.10
4.由于redis没有configure脚本,直接就有了makefile,因此可以直接编译且安装
make #编译
make install #安装
#此两条命令可以缩写为一条,  make && make install 
5.编译安装完成后,redis默认会将redis命令添加到环境变量中/usr/local/bin底下
6.启动redis服务端,自定义一个redis.conf 
vim redis.conf ,写入以下内容(不要加上注释)
    port 6379
    daemonize no  #后台运行redis
    pidfile /data/6379/redis.pid #将redis进程的id写入到redis.pid这个文件
    loglevel notice  #日志级别
    logfile "/data/6379/redis.log"
    dir /data/6379  #配置redis数据存放点
    protected-mode yes  #redis3.0之后的安全模式
    requirepass qiangdademima  #给redis添加密码
    
    redis的安全模式,可能会阻挡你远程连接,为了解决这个安全模式,给redis设置一个密码
    
7.redis的多实例功能,可以在一个机器上,启动多个redis服务端
    1.准备一个新的配置文件,redis默认支持多实例,再准备一个新的配置文件redis-6380.conf,内容如下:
        port 6380
        bind 0.0.0.0
        daemonize yes
        pidfile /data/6380/redis.pid 
        loglevel notice 
        logfile "/data/6380/redis.log"
        dir /data/6380
        protected-mode yes
        requirepass zeiqiangdademima
    2.启动第二个redis实例(第二个数据库)
    redis-server  redis-6380.conf 
        
8.通过命令查询redis的密码参数
CONFIG get requirepass



redis发布订阅

1.一个发布者,多个订阅者  
2.支持正则的匹配订阅者


-a    参数意思是指定redis的密码登录
redis-cli -a qiangdademima   #启动1个redis客户端 (订阅者1)
    SUBSCRIBE  频道名字   
    PSUBSCRIBE  频道名*  

redis-cli -a qiangdademima   #启动2个redis客户端(订阅者2)
    SUBSCRIBE  频道名字 
    PSUBSCRIBE  频道名*
    
redis-cli -a qiangdademima   #启动3个redis客户端(发布者)
    PUBLISH   频道名字  想发送的消息   
    PUBLISH   频道名字*   发送的消息
    

    
redis持久化之rdb与aof

rdb模式
1.在配置文件中写入参数,支持rdb模式
vim redis.conf 

port 6379
bind 0.0.0.0
daemonize yes
pidfile /data/6379/redis.pid 
loglevel notice 
logfile "/data/6379/redis.log"
dir /data/6379 
protected-mode yes
requirepass qiangdademima
dbfilename  dbmp.rdb
save  900 1
save 300 10
save 60  10000

2.启动redis服务端,此时可以设置redis的key,通过save命令触发rdb持久化



aof模式

1.vim redis.conf #写入以下 

daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename  dbmp.rdb
requirepass redhat
save 900 1
save 300 10
save 60  10000
appendonly yes
appendfsync everysec

2.启动redis-server服务端,默认就会生成appendonly.aof持久化文件
此时进入redis-cli的操作,都会被记录,且追加到appendonly.aof文件中,以达到持久化的操作


redis 持久化方式有哪些?有什么区别?

rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能

aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog




    

 

原文地址:https://www.cnblogs.com/zhen1996/p/10778965.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


安装开始...1.打开“https://dev.mysql.com/downloadsepo/yum/”下载Mysql源      将下载好的mysql源上传linux服务器 2.yumlocalinstallmysql80*#安装源 centos7中默认安装的是mariadb数据库,如果想要安装mysql,首先要移除mariadb;
安装Helm3#官网下载慢#wgethttps://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gzwgethttp://qiniu.dev-share.top/helm-v3.5.4-linux-amd64.tar.gztar-zxvfhelm-v3.5.4-linux-amd64.tar.gzcplinux-amd64/helm/usr/local/bin#查看helmclient版本helmversion
通过Linux命令行启动用的指令:systemctlstartmariadb.service反馈:Failedtostartmariadb.service:Unitmariadb.servicenotfound.MariaDB简介MariaDB是MySQL的一个分支,MariaDB打算保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQLAPI和命令
InstallingMariaDBServer10.4TodeployMariaDBCommunityServer10.4onRHEL7orCentOS7,firstdownloadandusethe mariadb_repo_setup scripttoconfiguretheMariaDBrepositoriesforYUM:$sudoyuminstallwget$wgethttps://downloads.mariadb.com/
阅读目录一什么是存储引擎二mysql支持的存储引擎三使用存储引擎一什么是存储引擎mysql中建立的库--> 文件夹库中建立的表--> 文件现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片
1、安装MariaDB安装命令yum-yinstallmariadbmariadb-server安装完成MariaDB,首先启动MariaDBsystemctlstartmariadb设置开机启动systemctlenablemariadb[root@node1~]#systemctlenablemariadbCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/m
Centos7.5 刚安装的mariadb数据库报错报错:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)原因一:没有启动数据库解决方法:systemctlstartmariadbsystemctlenablemariadb原因二:未知解决方法:[root@db01~]#
基于YUM安装的mariadb多实例.=================================================================1.yum安装mariadb-server包#yuminstallmariadb-server2.创建多实例对应的目录结构#mkdir/mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}-pv#tree/mysql//mysql/
一、系统环境[root@localhost~]#cat/etcedhat-releaseCentOSLinuxrelease7.6.1810(Core)二、mysql安装#yuminstallmysqlmysql-servermysql-devel安装mysql-server失败,如下图:[root@localhost~]#yuminstallmysql-serverLoadedplugins:fastestmirrorLoadingm
数据库的选择两大点是:开源和跨平台,满足这三点MySQL、MongoDB和MariaDB。其中MariaDB是MySQL的分支,也是它的进阶产品,未来很有可能替代MySQL。与MySQL相比较,MariaDB更强的地方在于:Maria 存储引擎PBXT存储引擎XtraDB 存储引擎FederatedX 存储引擎更快的复制查询处理线
使用Navicat连接数据库时出现了 HostxxxisnotallowedtoconnecttothisMariaDbserver的情况。发现了是因为授权的问题,使得连接权限受阻。所以,只需要进入数据库中,给予其权限即可。具体解决代码如下:[root@localhost~]#mysql-uroot-pEnterpassword:#首先进入mys
1.临时表当绘画结束时,临时表会自动销毁,无法用showtables查看临时表。MariaDB[jason]>createtemporarytabletmp(prochar(30),citychar(30));QueryOK,0rowsaffected(0.01sec)MariaDB[jason]>insertintotmpvalues('shanghai','shanghai');QueryOK,1
为了看阳光我来到世上数据库介绍数据库是一个存放数据的仓库,目前市面上最流行的数据库大致氛围的两种,一种叫做关系型数据库,一种叫做非关系型数据库,而关系型数据库近期流行的即为mysql,mysql原本是一个开源的数据库后被oracle公司收购,开始进行服务收费,因此,市面上大多数免费
1,Linux上的mysql MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松
启动Mariadb前提需安装mariadb-server-安装mariadb-serveryuminstall-ymariadb-server-启动服务systemctlstartmariadb.service-添加到开机启动systemctlenablemariadb.service-安全设置,以及修改数据库管理员密码mysql_secure_installation-启
1、查看是否安装及可用安装:yumlist|grepmaria2、安装maria(依赖其他几个安装包):yuminstallmariadb-server.x86_64输入'y'继续安装直到安装结束3、检查是否安装:4、安装完后登录提示错误:mysql-uroot-p是由于安装完但是并未启动maria服务5、启动maria有以下几种方法:system
通过yum安装mariadb,并配置MySQL主从服务器主服务器:192.168.10.11从服务器:192.168.10.12#!/bin/bash#====================================================#Author:Mr.Song#CreateDate:2019-02-21#Description:autoconfigMySQLmaster&slave#=====================
实验:实现基于SSL加密的主从复制实验步骤:环境:三台主机,一台CA:200,一台master:150,一台slave:100平时都是在CA上帮用户生成私钥,在服务器上做的1CA,master,slave的证书相关文件mkdir/etc/my.cnf.d/sslcd/etc/my.cnf.d/sslopensslgenrsa2048>cakey.pemopensslreq-new-x509-k
MariaDB[db1]>select*fromstudent;+----+------+-----+--------+-------+|id|name|age|gender|phone|+----+------+-----+--------+-------+|1|a|20|m|119||2|b|20|m|120||3|c|20|m|110
过年了,在老家闲余时间想敲敲代码,发现在安装mariaDb的时候一直报错错误信息:Service‘MySQL’(MySQL)Faildtostart,Verifythatyouhavesuffcientprivilegestostartsystemservices.服务的MySQL(MySQL)启动错误,确认你有权限启动系统服务。记得多年前在使用sqlserver数