centos 开放3306(centos9出来了吗)
大家好,如果您还对centos 开放3306不太了解,没有关系,今天就由本站为大家分享centos 开放3306的知识,包括centos9出来了吗的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
centos7 怎么安装mysql
CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
1.下载mysql的repo源
$ wget
2.安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm-ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3.安装mysql
$ sudo yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4.重置密码
重置密码前,首先要登录
$ mysql-u root
登录时有可能报这样的错:ERROR 2002(HY000): Can‘t connect to local MySQL server through socket‘/var/lib/mysql/mysql.sock‘(2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown-R openscanner:openscanner/var/lib/mysql
然后,重启服务:
$ service mysqld restart
接下来登录重置密码:
$ mysql-u root
mysql> use mysql;
mysql> update user set password=password(‘123456‘) where user=‘root‘;
mysql> exit;
5.开放3306端口
$ sudo vim/etc/sysconfig/iptables
添加以下内容:
-A INPUT-p tcp-m state--state NEW-m tcp--dport 3306-j ACCEPT
保存后重启防火墙:
$ sudo service iptables restart
这样从其它客户机也可以连接上mysql服务了。
CentOS7和CentOS6怎样开启MySQL远程访问
1.开放mysql访问端口3306
修改防火墙配置文件
vi/etc/sysconfig/iptables
加入端口配置注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
-A INPUT-m state--state NEW-m tcp-p tcp--dport 3306-j ACCEPT
重新加载规则
service iptables restart
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法
2.修改mysql库里的host
登录mysql;
use mysql
update user set host=‘%‘ where user=‘root‘ and host=‘localhost‘;
记得一定还得修改密码,因为这时密码已失效,虽然本地还可以原密码登录,可远程改了host后还是没法访问
UPDATE user SET password=password("root") WHERE user=‘root‘;
flush privileges;
3.重启mysql,远程就可以访问了
service mysqld restart;
CentOS7开启MySQL远程访问
CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样。按如下方便配置防火墙:
1、关闭防火墙:sudo systemctl stop firewalld.service
2、关闭开机启动:sudo systemctl disable firewalld.service
3、安装iptables防火墙
执行以下命令安装iptables防火墙:sudo yum install iptables-services
?
4、配置iptables防火墙,打开指定端口(CentOS6一样)
5、设置iptables防火墙开机启动:sudo systemctl enable iptables
6、之后的和CentOS6一样
CentOS下防火墙的基本操作命令
CentOS配置防火墙操作实例(启、停、开、闭端口):
注:防火墙的基本操作命令:
查询防火墙状态:
[root@localhost~]# service iptables status
停止防火墙:
[root@localhost~]# service iptables stop
启动防火墙:
[root@localhost~]# service iptables start
重启防火墙:
[root@localhost~]# service iptables restart
永久关闭防火墙:
[root@localhost~]# chkconfig iptables off
永久关闭后启用:
[root@localhost~]# chkconfig iptables on
CentOS7和CentOS6怎样开启MySQL远程访问
标签:操作启动top基本操作命令tedandblecentos7远程
解决centos的mysql服务3306端口无法远程连接10038问题
在上一篇文章中,我们探讨了如何在CentOS环境中安装宝塔控制面板并创建数据库。然而,当尝试在Windows上使用Navicat for MySQL远程连接时,却遇到了10038错误。此刻,我找到了一个有效的解决方案,让我们一起梳理这个问题的解决过程。
我们的服务器环境是基于CentOS 7.5.1804,一个强大而稳定的操作系统:
LSB Version:</ core-4.1-amd64:core-4.1-noarch
Distributor ID:</ CentOS
Description:</ CentOS Linux release 7.5.1804(Core)
Codename:</ Core
以下是问题出现的步骤:
在宝塔控制面板中新建数据库,并为新用户分配适当权限。
尝试使用Navicat连接,但本地连接极其缓慢,最终出现10038错误。
问题的关键在于,虽然我们最初以为是MySQL用户组的远程连接设置问题,但实际上问题出在MySQL的默认端口3306被服务器防火墙阻止了。
首先,确保服务器上安装了端口扫描工具nmap,如果没有,可以使用以下命令安装:
sudo yum install nmap
接下来,通过nmap检查3306端口状态:
nmap
如果结果显示为"filtered",说明可能被防火墙拦截。
确认防火墙状态,CentOS 7.5.1804使用firewalld服务:
sudo systemctl status firewalld
如果"active(running)",说明防火墙已启用。为了开放3306端口,我们可以执行以下命令以永久生效:
sudo firewall-cmd--zone=public--add-port=3306/tcp--permanent
或者,直接编辑firewalld配置文件(public.xml):
sudo nano/etc/firewalld/zones/public.xml
添加完毕后,重载防火墙以应用更改:
sudo firewall-cmd--reload
再次使用nmap检查3306端口,确认其状态是否变为"open",表示连接已成功。
如果需要删除之前开放的特定端口,可以使用以下命令:
sudo firewall-cmd--zone=public--remove-port=80/tcp--permanent
最后,如果需要调整MySQL用户权限,包括root用户,可以按照以下步骤操作:
登录数据库:mysql-uroot-p
为指定IP(如202.11.10.253)和用户名(如root)分配权限:GRANT ALL PRIVILEGES ON*.* TO'root'@'%' IDENTIFIED BY'youpassword' WITH GRANT OPTION;
刷新权限:FLUSH PRIVILEGES;
现在,你应该已经成功解决了CentOS服务器上MySQL 3306端口的远程连接问题,可以愉快地在Windows上使用Navicat进行操作了。