centOS+mysql5.7.30+redis安装

虚拟机centOS安装

使用桥接网络

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z2Loj3zg-1592993545357)(centOS.assets/image-20200513105040122.png)]

按步骤安装

设置root密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yawmenV8-1592993545359)(centOS.assets/image-20200513105404189.png)]

MySQL5.7安装

安装方式:wget

yum intsall -y wget

下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

检测是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

如下图:安装成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cTK7JXFu-1592993545362)(centOS.assets/image-20200513112558296.png)]

安装mysql服务,与网速有关

yum install mysql-community-server

安装完成后,启动mysql服务

systemctrl start mysqld

查看mysqld服务,此处要查看到activity状态时running,OK

systemctrl status mysqld

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G9mHTf6J-1592993545365)(centOS.assets/image-20200513114007242.png)]

设置开机启动

systemctrl enable mysqld

重载服务

systemctrl daemon-reload

mysql5.7安装时会产生一个默认的密码,查看此密码文件一般在

grep "temporary password" /var/log/mysqld.log

进入mysql环境

修改密码规范

set password for ‘root’@‘localhost’=password(‘123456’);

查看 MySQL关于密码相关的配置

show variables like "%password%";

0是LOW,1是MEDIUM,2是STRONG

设置密码策略等级

set global validate_password_policy=1;

set global validate_password_length=6;

也可以通过etc/my.cnf修改

允许远程连接:

mysql> use mysql;

mysql> update user set host = “%” where user=“root”;

mysql> flush privileges;

设置允许最大连接数:

[root@localhost ~]# vi /etc/my.cnf

#在[mysqld]下添加一行
max_connections=512

[root@localhost ~]# systemctl restart mysqld  # 重启服务

重启服务

systemctl restart mysqld

解决远程连接问题:

2003等,centos7一般是防火墙的问题



  CentOS7的默认防火墙为firewall,且默认是不打开的。

  shell > systemctl start firewalld 启动friewall

  shell > systemctl status firewalld 查看firewall启动情况

  shell > firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启3306端口

  然后重启 firewalld  #firewall-cmd --reload

  使用 # firewall-cmd --query-port=3306/tcp 检查3306端口是否已经开启,如果显示yes,则表示防火墙已开启该端口。
  
# python sqlalchemy 超过8小时连接断开问题:

mysql> show variables like '%timeout%';
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| have_statement_timeout      | YES      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 60       |
| wait_timeout                | 28800    |
+-----------------------------+----------+

其中 interactive_timeout  wait_timeout 28800 = 60 * 60 * 8  即8小时
方案一: 加这两个延时,加长时间,网上查询最大为24天,未实践

方案二:_engine = create_engine(db_url="db_url", pool_recycle=3600)
设置pool_recycle参数,修改sqlalchemy连接池时间,小于8小时,即当连接池小于这个时间,则会断开,重新创建,不会与mysql8小时冲突。

方案三: 设置poolclass为NullPool,测试失败,

方案四:
flask 项目

@app.teardown_appcontext
def shutdown_session(exception=None):
    session.remove()


Redis安装

原文链接

安装redis编译的c环境

yum -y install gcc-c++

安装Redis

  1. wget http://download.redis.io/releases/redis-5.0.3.tar.gz

  2. 解压文件到 /usr/local 下(tar -xvf redis-5.0.3.tar.gz /usr/local

    [root@localhost package]# tar -xvf redis-5.0.3.tar.gz /usr/local/
    tar: /usr/local:归档中找不到
    tar: 由于前次错误,将以上次的错误状态退出
    
    # 解决方案
    [root@localhost package]# tar -xvf redis-5.0.3.tar.gz -C /usr/local/
    
  3. 编译redis(将.c文件编译成.o文件)

    cd redis-5.0.3/
    make
    
  4. 安装

    必须进入 redis-5.0.3/

    make PREFIX=/usr/local/redis install 命令安装redis到指定路径中

    执行完毕之后:

    cd /usr/local/redis/bin

    可以看见几个可执行文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iefUbI6K-1592993545371)(C:\Users\wc\AppData\Roaming\Typora\typora-user-images\image-20200518120250043.png)]

  1. 测试前端启动(cd /usr/local/redis/bin/)

    ./redis-server

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMH0sy2S-1592993545373)(C:\Users\wc\AppData\Roaming\Typora\typora-user-images\image-20200518120407838.png)]

    看到这个,正常了

    1. 复制配置文件

    进入redis-5.0.3中复制redis.conf 到 redis/bin下面

    1. 后端启动

    直接运行 bin/redis-server将以前端模式启动,前端模式启动的缺点是启动完成后,不能在进行其他操作,不推荐

    修改 redis/bin/redis.conf配置文件,daemonize yes 以后端模式启动。

    vi /usr/local/redis/bin/redis.conf

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mj5BFNbn-1592993545374)(C:\Users\wc\AppData\Roaming\Typora\typora-user-images\image-20200518125904888.png)]

    1. 开启远程连接

      修改 redis.conf

      bind 127.0.0.1修改为 bind 0.0.0.0

redis.conf配置

  1. 新建一个redisdb用来存储缓存数据

    mkdir /usr/local/redisdb

  2. 设置缓存文件生成和读取的目录

    默认目录为: dir ./

    修改为: dir /usr/local/redisdb

  3. 修改连接密码(可省略)

    修改前:# requirepass foobared

    修改后: requirepass password

    连接命令: ./redis-cli -h 192.168.25.12 -p 6379 -a password

  4. 以守护进程启动

    daemonize yes

  5. 开启aof持久化

    appendonly yes

  6. 选择aof持久化策略

    appendfsync everysec

  7. 开启远程访问

    bind 0.0.0.0

    配置完成之后重新启动redis服务

设置redis开机启动

shell > firewall-cmd --zone=public --add-port=6379/tcp --permanent 开启3306端口

  1. 进入/lib/systemd/system目录,创建一个名为redis.service文件

    cd /lib/systemd/system && touch redis.service

  2. 在redis.service中写入下面内容

    [Unit]
    Description=redis service
    Wants=network.target
    [Service]
    Type=forking
    ExecStart=/usr/local/redis/bin/redis-server  /usr/local/redis/bin/redis.conf
    [Install]
    WantedBy=multi-user.target
    
  3. 设置开机启动

    systemctl enable redis

  4. 启动,查看redis服务状态

    systemctl start redis

    systemctl status redis 正常:Active(running)

  5. 查看redis运行信息

    ps -aux | grep redis

    或者

    netstat -tunple

关闭重启的问题

为注册服务前, 使用 ps -aux | grep redis

/bin/redis.conf
[Install]
WantedBy=multi-user.target


3. 设置开机启动

`systemctl enable redis`

4. 启动,查看redis服务状态

`systemctl start redis`

`systemctl status redis`   正常:Active(running)

5. 查看redis运行信息

`ps -aux | grep redis`

或者

`netstat -tunple`

## 关闭重启的问题

为注册服务前, 使用  ps -aux | grep redis

然后 kill -9 pid
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值