VMware下Centos 7搭建PHP开发环境之mysql篇(三)

4 篇文章 0 订阅

今晚对VM虚拟机中的Centos 7系统中搭建了mysql的环境,搭建流程网络上很多,搜索linux下yum 安装mysql就有很多相应的文章。搭建流程我就不再浪费时间赘述,直接进入我搭建过程遇到的坑。

一、安装mysql(centos 7没有带rpm安装包)需要先下载一个rpm的包(应该是安装源),这是我使用wget命令,发现执行不了,因此得先去通过yum 安装一个wget工具,安装完成后下载到mysql的rpm包。

二、安装mysql完成之后使用mysql -u root进行数据库的登录,发现登录不了,报了:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘错误,然后需要使用以下命令把/var/lib/mysql的拥有者改为当前用户

sudo chown -R username:username /var/lib/mysql

重启服务:service mysqld restart(然后成功跳过这个坑)

三、外部主机访问Centos 7中的mysql数据库

使用:grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; (%含义是指允许所有主机进行连接,用户名是root,密码是123456,开放的是所有库的所有表)

flush privileges;(刷新权限)

这时很开心,以为这么容易就配置好了。。。(主机使用Navicat for mysql 进行连接,发现一直连不上,贼坑。。。)

然后就思考是不是端口没开,通过netstat -antp 查看到mysql的服务确实是在3306端口。其次我用主机去ping虚拟机的ip地址(能ping的通,说明网络连接是没有问题的),本来还想通过网络命令再进行问题的精确定位,但是本着经验觉得可能是centos的防火墙没关。抱着试试的态度,用systemctl stop(status) firewalld.service将防火墙关闭了,然后再在Navicat上进行连接...通了(无比激动)。

四、一些感悟

首先,数据库权限的开发最好指定ip,库表(根据实际业务),给相应的权限,这样才能保证数据库的安全性。

其次,通过网络命令对数据库连接测试不够熟悉,要不是猜的准可能又要在网上冲会浪了(花大把时间找测试命令)。

最后,防火墙我个人认为应该也有对应的设置,直接关停防火墙不是好的做法,这样完全忽略了安全。应该直接指定mysql的请求防火墙不进行拦截(应该是对端口的做操作)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值