linux系统安装mysql、开放3306端口、配置访问权限

案例环境
ubuntu16.04,MySql5.7

1. 安装mysql

查看是否已安装

mysql --version

安装命令

sudo apt-get install mysql-server

2.查看3306端口是否开放远程连接

netstat -an|grep 3306

下图所示,绑定本机,没有开启远程访问
在这里插入图片描述
3.修改配置文件使其可以远程连接

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

在默认情况下我们只允许本地服务访问MySQL,因此只是掉注释掉bind-address即可,当然如果出于安全考虑也可以指定某一个ip地址可以访问。
在这里插入图片描述
也可以进行端口号的修改(一般不做修改)
在这里插入图片描述
4.开放root账户的访问权限
以上是解除了远程访问的限制,以下对账户权限设置
重启mysql并进入mysql,并切换到mysql表

service mysql restart
mysql mysql -uroot -p****
use mysql

查看账户信息

select user, host from user;

在这里插入图片描述
查看结果说明只能本地访问,没有设定外部访问的用户,接下来我们给root用户赋予外部访问的权限。执行两条语句

#开放root账户所有权限
grant all privileges on *.* to ‘root’@'%' identified by 'password' with grant option;#开放root账户指定网段可访问
grant all privileges on *.* to 'root'@'192.168.1.%' identified by 'password' with grant option;
#使权限设置立即生效
flush privileges;

再次查看mysql表

select user, host from user;

表示授权成功
在这里插入图片描述
重启mysql即可

service mysql restart

Mysql授权语法扩展

  • grant 权限1,权限2,…权限n on 数据库名.表名 to 用户名@用户地址 identified by ‘用户密码’ with grant option;

  • 权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等权限。如果是all privileges或者all,表示赋予用户全部权限。

  • 如果数据库名.表名被*.*代替,表示赋予该用户可以操作服务器上所有数据库所有表的权限。

  • 用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址。‘用户密码’必须提供。 最后的 with

  • grant option 表示权限传递,意思是允许该用户将其权限分配给其他人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值