host

解决Can't connect to MYSQL server on \"ip address\"(10061)

亡梦爱人 提交于 2019-12-05 07:16:33
一、现象 我在Window10上连接本地虚拟机Ubuntu上的MySQL数据库时报错如下: 二、产生原因 1. 数据库服务器没有对外开放mysql的默认端口3306 2. 未设置远程用户访问权限 三、解决方法 1.解决端口问题 (1)检查下数据库服务器的3306端口是否开放 数据库服务器上打开终端查看3306端口是否打开: $ netstat -an|grep 3306 如果是上图所示结果:127.0.0.1:3306,说明端口是没有对外开放的。 (2)开放端口 修改mysql配置文件: $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改该文件,注释掉图中标红部分保存 修改完之后重启Ubuntu 重启后再次查看端口:netstat -an|grep 3306 出现上图说明3306端口已经开发完成。 注意:需要先确认数据库服务器上用的是不是默认端口3306,如果指定了其他端口的话也是同理操作。 2.开放远程用户访问权限 (1)查看当前权限   a. 在数据库服务器上先连接mysql: $ mysql -u root -p   b. 输入命令: use mysql;   c. 输入命令: select host,user from user; host一列代表哪个host可以远程访问访问当前数据库;%表示任意host可以访问

ansible-playbook

南楼画角 提交于 2019-12-05 07:01:51
playbook: playbook相关的命令: [root@centos7 ansible]# ansible-playbook -C xxx.yml #检查playbook,但不会真正的去执行 [root@centos7 ansible]# ansible-playbook --list-hosts xxx.yml #列出所指定的playbook应用的所有主机 [root@centos7 ansible]# ansible-playbook --list-tags hello.yml #列出所指定的playbook中的所有标签 [root@centos7 ansible]# ansible-playbook --list-tasks hello.yml #列出所指定的playbook中的所有任务 [root@centos7 ansible]# ansible-playbook --limit 192.168.38.6 hello.yml #针对所指定的playbook,限制某个主机执行 playbook格式要求: --- #用于区分yaml语言格式的标准标识 #install http and configure #注释,说明当前playbook的用途 - hosts: websrvs #应用的主机清单 remote_user: root #以谁的身份连接远程主机 tasks:

argparse 模块使用

a 夏天 提交于 2019-12-05 06:58:25
import argparse,osdata_func=["upload","download"]req_func=["getfunc","postfunc"]def func1(): print("this func1")def func2(): print("this is func2")parser=argparse.ArgumentParser()parser.add_argument('-j',"--jobid",required=False,type=str,help="this is jobid")parser.add_argument("-host",required=False,type=str,help="this is role of host part ")parser.add_argument("-f","--function",type=str,choices=(data_func+req_func))parser.add_argument("-r","--role",type=str,help="role of server")parser.add_argument("--nargs",nargs='+',help="type need list test ")parser.add_argument("-muti",action="append"

更改用户host留下的坑

荒凉一梦 提交于 2019-12-05 06:56:22
前言: 我们在创建数据库用户的时候都会指定host,即一个完整的用户可描述为 'username'@'host' 。创建用户时不显式指定host则默认为%,%代表所有ip段都可以使用这个用户,我们也可以指定host为某个ip或ip段,这样会仅允许在指定的ip主机使用该数据库用户。不过你也应该明白 'username'@'%' 和 'username'@'192.168.6.%' 是两个毫无关联的用户,这两个用户可以有不同的密码和权限,这里不建议创建多个同名不同host的用户,还有不要轻易更改用户的host,笔者曾经遇到过因为更改用户host引发的故障,下面将其分享出来,为你讲述前因后果。 1.故障模拟 当时为了规范安全,将某个程序用户的host由%改为了应用服务器ip段,过段时间业务反馈某些功能报错,经排查发现是因为无法调用存储过程(大家可以先思考下原因),下面模拟下故障操作。 # 原有用户、表、存储过程模拟创建 mysql> create user 'testuser'@'%' identified by '123456'; Query OK, 0 rows affected (0.04 sec) mysql> grant select,insert,update,delete,execute on `testdb`.* to 'testuser'@'%'; Query OK,

堡垒机

ぐ巨炮叔叔 提交于 2019-12-05 06:46:59
认识堡垒机 拓展两个知识点: 1、traceback:出异常,会具体打印出哪一行 traceback.print_exc() 2、getpass模块获取用户名: uson@ubuntu:~$ python3 Python 3.6.8 (default, Aug 20 2019, 17:12:48) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import getpass >>> getpass.getuser() 'uson' 3、Ubuntu配置用户的环境变量: source:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录 命令行输入:mysql -uuson -pakaedu改成source .bashrc执行 # 每个用户目录下都有一个.bashrc文件 #(1)vim .bashrc 在最后新增一行命令行输入的东西: mysql -uuson -pakaedu 或者 python3 .../.../..../.py # 保存文件的绝对路径abspath # (2)执行.bashrc source .bashrc 4

NFS

馋奶兔 提交于 2019-12-05 06:46:41
NFS 基础概述 提供RPC服务的程序 配置NFS 基础概述 包默认都是安装上的,报名叫nfs-utils 启动服务 提供RPC服务的程序 叫做portmapper -p(probe,探测) 列出所有在host用portmap注册的RPC程序,如果没有指定host,就查找本机上的RPC程序。 配置NFS 来源: https://www.cnblogs.com/hao-ran/p/11911423.html

一个练手的小项目(二)——Redis集群

爱⌒轻易说出口 提交于 2019-12-05 06:42:20
RedisConfig.java: package com.tsvv.config; import java.util.HashSet; import java.util.Set; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster; //标识配置类 @Configuration @PropertySource("classpath:/properties/redis.properties") public class RedisConfig { @Value("${redis.clusterNodes}") private String nodes; @Bean public JedisCluster

在zabbix中实现发送带有图片的邮件和微信告警

坚强是说给别人听的谎言 提交于 2019-12-05 06:29:38
1 python实现在4.2版本zabbix发送带有图片的报警邮件 我们通常收到的报警,都是文字,是把动作中的消息内容当成了正文参数传给脚本,然后邮件或者微信进行接收,往往只能看到当前值,无法直观的获取到历史当天该监控项的运行曲线图,因此根据此需求,使用python编写脚本来分别对邮件告警和微信告警,进行升级,报警内容中加入了当天的历史趋势图,功夫不负有心人,已成功解锁,并实践成功,因此分享出来供大家参考,另外得非常感谢脚本编写中刚哥大神和王二基友给予的帮助 1.1 实现思路 首先报警信息里第一行要有itemid,这是前提,根据信息里传入的参数使用正则匹配到itemid 使用脚本创建一个zabbix会话,来根据itemid来获取图片,并将获取到的图片保存到本地 将传入的参数信息的text字段转换成HTML格式,然后将HTML格式的信息和图片作为邮件进行发送 1.2 准备环境 脚本是使用python脚本,运行环境为python 2.7.5 依赖库: requests 1.3 脚本实现 1 [root@5804703917ad zabbix]# cd /usr/lib/zabbix/alertscripts/ #进入zabbix默认的脚本路径 2 [root@5804703917ad alertscripts]# mkdir graph #创建一个存放图片的文件夹 3 [root

堡垒机的核心武器:WebSSH录像实现

大兔子大兔子 提交于 2019-12-05 06:15:32
WebSSH终端录像的实现终于来了 前边写了两篇文章 『Asciinema:你的所有操作都将被录制』 和 『Asciinema文章勘误及Web端使用介绍』 深入介绍了终端录制工具Asciinema,我们已经可以实现在终端下对操作过程的录制,那么在WebSSH中的操作该如何记录并提供后续的回放审计呢? 一种方式是 『Asciinema:你的所有操作都将被录制』 文章最后介绍的自动录制审计日志的方法,在主机上添加个脚本,每次连接自动进行录制,但这样不仅要在每台远程主机添加脚本,会很繁琐,而且录制的脚本文件都是放在远程主机上的,后续播放也很麻烦 那该如何更好处理呢?下文介绍一种优雅的方式来实现,核心思想是不通过录制命令进行录制,而在Webssh交互执行的过程中直接 生成可播放的录像文件 设计思路 通过上边两篇文章的阅读,我们已经知道了Asciinema录像文件主要由两部分组成:header头和IO流数据 header头位于文件的第一行,定义了这个录像的版本、宽高、开始时间、环境变量等参数,我们可以在websocket连接创建时将这些参数按照需要的格式写入到文件 header头数据如下,只有开头一行,是一个字典形式 {"version": 2, "width": 213, "height": 55, "timestamp": 1574155029.1815443, "env": {

MySQL--16 MHA修复

走远了吗. 提交于 2019-12-05 06:11:24
目录 一、恢复MHA 二、MHA切换 三、配置VIP漂移 一、恢复MHA #1.修复旧主库 [root@db01 ~]# /etc/init.d/mysqld start #2.在mha日志中找到change master语句 #GTID模式下: [root@db04 ~]# grep -i 'change master to' /etc/mha/manager.log Tue Nov 19 20:49:31 2019 - [info] All other slaves should start replication from here. Statement should be: CHANGE MASTER TO MASTER_HOST='10.0.0.52', MASTER_PORT=3306, MASTER_AUTO_POSITION=1, MASTER_USER='slave', MASTER_PASSWORD='123'; #普通模式下: [root@db03 ~]# grep -i 'change master to' /etc/mha/manager.log Tue Nov 19 19:22:22 2019 - [info] All other slaves should start replication from here. Statement should be