登陆MYSQL

mysql -u username -p

SELECT User, Host FROM mysql.user; //查看用户

你可以先创建一个普通用户,然后赋予只读权限。

创建普通用户:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

赋予只读权限:

GRANT SELECT ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

LNMP默认是禁止远程连接数据库的,但是有时候为了方便,我们想要远程,下面是开启远程的方法

1、给mysql的数据库账户增加远程访问权限

mysql;
mysql>use mysql;
mysql>grant all privileges on *.* to '账户'@'%或者ip' identified by '密码' with grant option; #远程用户root权限
mysql>grant select on *.* to '账户'@'%' identified by '密码' with grant option; #远程用户只读权限
mysql>flush privileges;   # 加载刚刚设置的配置
mysql>exit;   #退出mysql
lnmp restart # 重启lnmp

2、通过iptables修改系统防火墙规则

iptables -L -n --line-numbers # 查看已有的iptables规则
# 在iptables规则里有一行是DROP,末尾以3306结尾的,在lnmp1.5里面序号是6,不同版本可能会不一样,自行确认
iptables -D INPUT 6

如果删掉drop 3306端口后,还是连接补上,就通过iptables添加上3306端口

# 新增规则(-I表示插入在链的第一位置,-A 表示追加到链的末尾位置,防火墙规则是从上往下读取)
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# 保存规则到默认文件/etc/sysconfig/iptables
service iptables save
# 重启
service iptables restart

关才MYSQL远程连接

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'%';
DROP USER 'user'@'%';
FLUSH PRIVILEGES;