查看mysql中的user表
image.png
查看mysql运行的实际端口

  1. mysql> show global variables like 'port';

[授权法] 实现远程连接

授权法:通过给某个用户授权后进行远程登录

  1. mysql> use mysql;
  2. mysql> grant all privileges on *.* to cacti@'%' identified by "Dyx@0920";
  3. mysql> flush privileges;

这样机器就可以通过用户名:cacti, 密码:Dyx@0920远程访问该机器上的mysql服务了;
image.png

[改表法]实现远程连接

改表法: 通过root用户访问mysql,将host字段的值改为%, 表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%;

  1. mysql> use mysql;
  2. mysql> update user set host = '%' where user = 'root';
  3. mysql> flush privileges;

远程连接报错的解决办法

image.png
原因:

  • Mysql数据库的默认配置文件my.cnf中的bind-address默认为127.0.0.1,所以就算你创建了可以remote访问的用户,也不能使用mysql -h命令进行访问,若访问就会出现上面的问题,因为此时Mysql只接受localhost,所以需要把bind-address屏蔽掉,最后重启mysql服务;
  • 配置文件目录:

    • cat /etc/mysql/my.cnf
    • cat /etc/mysql/mysql.conf.d/mysqld.cnf (//如果在my.cnf文件中找不到#bind-address = 127.0.0.1, 则在这里查询)
      1. #bind-address = 127.0.0.1 # 打开my.cnf文件,找到 bind-address = 127.0.0.1 在前面加上#注释掉
      2. systemctl restart mysql.service
  • 查看防火墙状态

    1. systemctl start firewalld # 开启防火墙
    2. systemctl stop firewalld # 关闭防火墙
    3. systemctl status firewalld # 检查防火墙状态

    如果觉得关闭防火墙不安全,可打开远端服务器的iptables(安装或升级命令“yum install iptables”),我用root用户登录的,并用“vi /etc/sysconfig/iptables”检查3306端口是否打开;
    如没有,在文件中加入“-A INPUT -p tcp -m tcp —dport 3306 -j ACCEPT”,如下所示,保存文件,并用“service iptables restart”命令重启iptables;
    image.png

    PHP向mysql插入数据

    ```sql mysql> select * from host_template; +——+—————————————————+————-+ | id | hash | name | +——+—————————————————+————-+ | 6 | ccc4b97c8c283317b72b862060fbfa47 | JUNIPER | | 5 | 150c621f6c4a3609487788d0ac21dc9e | ROUTER | | 7 | 7e4efed1eebb31e3b5cfd592fdbb0175 | ANY | | 8 | a44af7d43583535476a1c9e306a64fde | ASR1000 | +——+—————————————————+————-+

mysql> select * from graph_templates;
+——+—————————————————+———————————————————+ | id | hash | name | +——+—————————————————+———————————————————+ | 1 | 9a5e6d7781cc1bd6cf24f64dd6ffb423 | H, Cisco Router - Device Status | | 9 | 5deb0d66c81262843dce5f3861be9966 | A, Interface - Traffic (bits/sec) | | 21 | 010b90500e1fc6a05abfd542940584d0 | D, LSP Path Counter template | | 35 | 285315e293b24c70d2f901429d938ec9 | B, Global BGP Prefix Monitor | | 41 | 89668a8df31915fde11bdbfbd0061541 | J, Cisco ASR - Device Status | | 39 | 15962940c3cccab8800361410e7ddff4 | I, Juniper Router - Latency | | 33 | 7dd6a7488a27b255c4ff36a9c07e1d62 | C, OptionC BGP Prefix Monitor | | 28 | 4925fd5ada917ac7aed2118868d6585b | E, Juniper Router - RE0 Statistics | | 29 | d7bd6d4c296f3f3a29423f91b830e884 | F, Juniper Router - RE1 Statistics | | 34 | 9f91986400e3735688b1c6f9d78a40df | Z, bgpprefix | | 36 | ab9aa7ad6a05a2496f7709a1bdb67b17 | G, Cisco Router - FAN State | | 37 | 7efc0635c847523956e9b4b84eab41f6 | K, BGP Prefixes template for Juniper | | 38 | 2d95a077659b668780fd5d8d613f737a | L, BGP Prefixes template for Cisco | | 42 | 0221209f19920e15cc401ec872522c2a | M, Backbone COST | +——+—————————————————+———————————————————+

  1. ```php
  2. # php查询
  3. ======================================================================================
  4. php add_device.php --list-snmp-queries #查看设备类型
  5. php add_device.php --list-host-templates #查看主机模版
  6. php add_device.php --list-graph-templates #查看图形模版
  7. php add_device.php --list-communities #查看共同体名
  8. php add_device.php --list-snmp-fields --host-id=405 #查看主机snmp类型
  9. php add_device.php --list-trees #查看树的id
  10. php add_device.php --list-hosts #查看存在主机
  11. php -q add_tree.php --list-trees #查看树的ID
  1. # 批量添加主机脚本
  2. ======================================================================================
  3. while read host;
  4. do
  5. # 添加主机,套用主机模板
  6. php add_device.php --description="$host" --ip="$host" --template="6" --version="2" --community="public" --avail="pingsnmp" --ping_method="icmp"
  7. host_ids=`php add_graphs.php --list-hosts | grep $host | awk -F " " '{print $1}'`
  8. # 关联图像
  9. php add_graphs.php --host-id="$host_ids" --graph-type="cg" --graph-template-id="28"
  10. php add_graphs.php --host-id="$host_ids" --graph-type="cg" --graph-template-id="29"
  11. done < host.txt