####################################################
""" 1、网络检测 1)ping主机可以; 2)telnet 主机3306端口不可以; telnet 主机22端口可以; 说明与本机网络没有关系;
如果本地端口监听状态 telnet 127.0.0.1 3306 看看是否成功, 如果成功, 则 在远程 telnet 公网ip 3306 来判断一下是否成功, 如果成功说明没有问题, 如果失败,继续往下看 """
####################################################
""" 2、端口检测 1)netstat -ntpl |grep 3306 tcp 0 0 :::3306 :::* LISTEN - 2)netstat -ntpl |grep 22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - 可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。 对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,一个就是mysql配置绑定本机地址。 """
####################################################
""" 3、防火墙检测 1)iptables --list查看; 2)开启防火墙3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) /etc/init.d/iptables restart(重启防火墙使配置生效) 3)或者直接关闭防火墙; 防火墙的操作,Ubuntu 打开3306号端口:sudo ufw allow 3306 查看端口状态:sudo ufw status # allow就是开放的。 关闭防火墙:sudo ufw disable 开启防火墙:sudo ufw enable """
###################################################
""" 4、mysql配置文件检查 检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。 不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。 #ps -aux | grep mysql 查看进程ID是3340 #ll /proc/3340 查看进程程序情况,找配置文件 或者#which mysql 找程序路径 执行命令 netstat -an|grep 3306,如果3306前面是127.0.0.1,那么就要修改配置文件了 修改配置文件,网上很多就是如下图所示的修改方法, vim /etc/mysql/my.cnf vim /etc/mysql/mysql.conf.d/mysqld.cnf。发现bind-address = 127.0.0.1。 """
####################################################
""" 5、mysql用户访问权限 进入mysql数据库 $mysql -u root -p >use mysql; >select host,user from user; MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问; 其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问 登录mysql; 执行 use mysql; 执行 select user,host from mysql.user; 执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Ji10201749!'; 执行 FLUSH PRIVILEGES; 重启mysql服务 service mysqld restart;
"""
mysql用户操作
""" 1.新建用户。 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234")); //刷新系统权限表 mysql>flush privileges; 这样就创建了一个名为:phplamp 密码为:1234 的用户。 然后登录一下。 mysql>exit; @>mysql -u phplamp -p @>输入密码 mysql>登录成功 2.为用户授权。 //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录. @>mysql -u root -p @>密码 //首先为用户创建一个数据库(phplampDB) mysql>create database phplampDB; //授权phplamp用户拥有phplamp数据库的所有权限。 >grant all privileges on phplampDB.* to phplamp@localhost identified by '1234'; //刷新系统权限表 mysql>flush privileges; mysql>其它操作 3.删除用户。 @>mysql -u root -p @>密码 mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost"; mysql>flush privileges; //删除用户的数据库 mysql>drop database phplampDB; 4.修改指定用户密码。 @>mysql -u root -p @>密码 mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost"; mysql>flush privileges; """