mysql 从服务器开启关闭,mysql基础管理--服务启动/关闭、开启远程连接

服务开启

使用 safe_mysqld 启动:sudo safe_mysqld &

服务关闭

mysqladmin shutdown

开启远程连接

1. 创建开启 MySQL 的远程登陆帐号

首先 需要有允许远程登录的账号,找到mysql数据库的user表。在user表中新建一条数据,设置User(username)和Host(开放访问MySQL的IP:例如123.118.17.201)以及登录密码。这样就设置了允许访问的用户名和IP地址(若想所有IP都可以访问,则可将Host设置为‘%’,但是这样很危险,一般不建议)。

通过grant命令创建

若想admin账户使用admin_password从任何主机连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin_password' WITH GRANT OPTION;

若想仅允许用户admin从ip为235.97.20.51 的主机连接到mysql服务器,并使用admin_password作为密码

mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'235.97.20.51' IDENTIFIED BY 'admin_password' WITH GRANT OPTION;

通过insert + update语句创建

刷新权限

修改完user表后执行 flush privileges 刷新权限。

2. 配置文件开启远程访问

mysql中的配置文件可能会限制远程访问,可以通过ss命令查看mysql的连接端口情况:

使用 ss -tlnp 命令查看网络接口开启状态

c3d77ce4ae05

image.png

若如上图所示,或者没有开启3306端口。则mysql仅允许服务器本地访问。

打开 MySQL 配置文件 my.cnf(/etc/mysql/my.cnf)

找到

bind-address = 127.0.0.1

或者

skip-networking

直接注释掉,然后重启mysql。

skip-networking : 开启 skip-networking 选项可以彻底关闭MySQL的TCP/IP连接方式。

bind-address = 127.0.0.1 : 若bind-address=127.0.0.1则表示mysql实例只能被本机连接,若bind-address=0.0.0.0或者不设置,则mysql可以被远程访问

注意:mysql的启动配置文件可能在/etc/mysql/mysql.conf.d/mysqld.cnf中,请更改那里的bind参数

iptables防火墙设置

通过iptables可以更细粒度地实现控制哪些可以访问,哪些不可以访问

阻止外部访问mysql:

iptables -A INPUT -p tcp --dport 3306 -j DROP

允许某个ip(替换xxx.xxx.xxx.xxx)访问,但是拒绝其他ip的访问

iptables -A INPUT -p tcp --dport 3306 -s xxx.xxx.xxx.xxx -j ACCEPT

iptables -A INPUT -p tcp --dport 3306 -j DROP

注意:需要在DROP前添加那个 ACCEPT 命令

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值