linux查看mysql防火墙设置,CentOS7安装Mysql5.7解压版&Navicat连接Mysql&防火墙设置——亲测有效...

文章目录

一、官网下载mysql压缩版

二、文件上传到centos7

三、卸载/删除CentOS7里面的Maridb数据库和Mysql

四、安装mysql5.7

1>解压

2>创建mysql组和用户

3>创建相关文件&授权文件&初始化

4>创建/修改mysql配置文件

5>初始化mysql

6>mysql环境变量(本人认为没什么用,可以先跳过试试)&自启动配置

7>启动服务

五、修改密码&释放权限(mysql报错?设置软连接)

1>解决找不到连接错误

2>修改登陆数据库密码。

六、修改防火墙设置、Navicat连接服务器数据库

1>设置centos7的开放端口

2>禁用防火墙(不建议这么用)

3>Navicat连接服务器mysql

参考链接

终于解决了!在虚拟机上面安装了N次mysql5.7数据库,踩了无数的坑。有时候是安装过程出错,有时候是初始化出错,总之就是各种各样的错误。mysql服务安装成功了命令又不管用,作为小白的我很头疼啊!在网上查找了很多资料总是做完之后mysql服务还是不能用。肿么办?终于,在我东拼西凑之下mysql服务成功启动,mysql命令也成功进入mysql窗口,防火墙也设置OK,windows系统下的Navicat也成功连接到了CentOS7下的mysql服务。

我太难了!!!

一、官网下载mysql压缩版

mysql官网下载linux安装的mysql

e774ef44d3a66791a62e4e7835736772.png

我这里安装的是mysql5.7.17,与上述截图版本不一致,上面仅供演示参考,但是安装步骤一致。

二、文件上传到centos7

①把在windows系统下下载好的mysql-xxx.tar.gz压缩包使用Xshell或者是其他连接工具,上传到服务器。

②有网络条件的可以使用wget命令直接下载到centos7。

wget后面url的选择

一般在使用别人的的路径的时候下载的版本都是不可选择的,那么怎么才能选择自己想要的下载版本呢?选择DownLoad后 进入这个页面:

71ddc6869714eb97996fdd7d6efdf62f.png

在centos7命令行输入:

#虚拟机上下载mysql-xxx.tar.gz

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

如果wget不存在?命令行,先执行:

yum -y install wget #安装wget

然后在执行一遍下载命令。

三、卸载/删除CentOS7里面的Maridb数据库和Mysql

在rpm中利用grep工具搜索有关mariadb的软件包

rpm -qa | grep mariadb

rpm是RedHat软件包管理工具

-qa 表示 query all

| 表示 将两个命令隔开,左边命令的输出就会作为右边命令的输入

grep 是一个文本搜索工具

如果有,删除搜索出来的软件包名

rpm -e 搜索出来的软件包名

rpm -e --nodeps 强制删除

6a64188a63439f41a1aa0a3f7f8b6637.png

再使用命令 rpm -qa | grep mariadb 进行检查确认一遍是否完全删除。

卸载删除mysql数据库

这一步很重要,以免后面安装有残留的文件有影响。由于我之前安装了N次,所以我要找到所有的mysql相关的文件删除它。

查找安装的mysql:

rpm -qa | grep mysql #查找安装的mysql文件

yum remove mysql-* #卸载所有的mysql文件

554a36536fa003217b0ae7d35db79b21.png

查找mysql相关的文件:

find / -name mysql #查找根目录下/,名字包含mysql的所有文件

rm -rf 搜索出来的文件名(例如 rm -rf /usr/local/mysql) #删除文件

7343f8c68822c496d6e79ed4fd7fcf6a.png

删!删!删!全部删除!!!

四、安装mysql5.7

我的安装路径是 /usr/local/mysql (所有的文件全部在mysql下面)

友情提示:

如果不安装在这个路径下的话可能会出现错误,看,

1e7c287ee4083d383854a3bc7f6b789c.png

虽然在配置文件里面配置了basedir,但是启动的时候还是会去到/usr/local/mysql/bin/下面去寻找mysqld,这时候就需要安全启动:

./bin/mysqld_safe --basedir=/mysql/mysql-5.7.17/,这是我之前配置的安装路径。mysqld_safe具体的使用方法还请自行百度。

1>解压

回到第一步:把mysql-xxx.tar.gz上传到服务器:/usr/local/ 下。

①如果你是用的是Xshell,可以新建文件传输,然后把文件拖拽到指定的位置。

②也可以直接进入到 /usr/local/ 目录下,把文件拖拽到XShell里面,上传。

在这种情况下有可能会报错:rz命令找不到。这时可以在命令行执行:

yum install lrzsz

文件上传完成后执行命令:

8b343de55313fd6c6240adadb18792f5.png

解压文件到当前目录:/usr/local/

1472670b1f0e8359dc90c994481e1c09.png

解压出来的文件重命名:

c4c7120364a15f248485c3cce40156cf.png

2>创建mysql组和用户

首先检查mysql是否进行分组:

cat /etc/group | grep mysql

cat /etc/passwd | grep mysql

查询之后存在分组???

68bbcd35b19e87c72b738ec9fc9843e1.png

如果之前创建过分组怎么办?删掉分组,万一出问题怎么办?(小心别掉坑里去)

d97bcb9c24ebe8dc0c2231b6cf132a2e.png

用户分组不能删除、报错怎么办?

29da846bdb604ccb64394e11d6dd0fc6.png

这是mysql的进程被占用的原因,可以杀进程或者是重启一次反正也用不了多长时间[龇牙]

创建分组

groupadd mysql #创建组

useradd -r -g mysql mysql #添加组用户

e4c5677cde92f572277037c7e3e4da00.png

对用户进行mysql文件的授权:

chown -R mysql:mysql /usr/local/mysql

4a99746c923595e1e5e0bb9b3a873135.png

3>创建相关文件&授权文件&初始化

创建data文件夹:

mkdir /usr/local/mysql/data #data文件夹里存放的是数据库数据

data文件夹授权:进入mysql目录下

cd /usr/local/mysql/

chown -R mysql:mysql data #授权data文件夹

078393c76ab74ffb399d761722735d33.png

对mysql赋予最高权限,所有用户可用

cd .. #返回上一级

chown 777 mysql/ 赋予最高权限(所有用户都可以使用)

7659b3211f7572d91fd7dbe37df18272.png

4>创建/修改mysql配置文件

vi /etc/my.cnf

配置信息如下:

[mysql]

#修改默认字符集

default-character-set=utf8

#这个是绑定客户端socket文件路径,不然出错还要创建

socket=/usr/local/mysql/mysql.sockt

[mysqld]

#用于后续修改密码时,如果随机密码不对,可以跳过密码验证登录的,修改完密码后再删掉。skip-grant-tables

socket=/usr/local/mysql/mysql.sockt

log_error=/usr/local/mysql/data/error.log

pid_file=/usr/local/mysql/data/mysql.pid

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data

port = 3306

#忽略大小写

lower_case_table_names=1

#服务端默认字符集

character-set-server=utf8

#最大连接数

max_connections=2000

#创建数据库时默认数据引擎

default-storage-engine=INNODB

explicit_defaults_for_timestamp=true

eaf9b2852973a75202b8cc41f969d947.png

授权my.cnf权限

chown 777 /etc/my.cnf

检查是否有libaio库?

rpm -qa|grep libaio

没有则安装

yum install libaio

5>初始化mysql

进入mysql的bin目录下

cd /usr/local/mysql/bin

#初始化数据库

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

6d5c5c1025a5ebc77daff8b16e8f262c.png

6>mysql环境变量(本人认为没什么用,可以先跳过试试)&自启动配置

vi /etc/profile #环境变量配置文件

export PATH=$PATH:/usr/database/mysql/bin #文件最后面加上

source /etc/profile #配置文件生效

自启动配置

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --list

显示服务列表,如果看到mysqld的服务,并且3,4,5都是”on/开启 “的话则成功

如果是off/关闭,则键入:chkconfig --level 345 mysqld on 命令

b8448778be4d1947165a169a3d61e30f.png

7>启动服务

启动&关闭&重启mysql服务的命令

service mysqld start #启动

service mysqld stop #停止

service mysqld restart #重启

启动服务报错?

98bb92b49e2afde01a0396b0e2cf2a22.png

错误原因,没有初始化权限表。

进入mysql目录下:

cd /usr/local/mysql

chown -R mysql.mysql . #初始化当前目录的权限

再次启动服务OK

bb34fba6768596b23293f066ff59db3e.png

查看一哈进程

ps -ef | grep mysql

404d35834828cccee4b03f32046b65bb.png

五、修改密码&释放权限(mysql报错?设置软连接)

由于前面配置文件配置了跳过检测密码,命令行直接输入mysql

1>解决找不到连接错误

mysql #未找到命令错误

f58deb8ea2310e899020aa005979971e.png

因为linux系统的命令是去/usr/bin目录下去寻找,找不到mysql当然会报错。这时,就需要设置一下软连接到/usr/bin下面:

ln -s /usr/local/mysql/bin/mysql /usr/bin/

723e6b65598260c8c9ce2ba3676c6c6c.png

再次在命令行输入mysql:

12f2b56f96e4e67f8427f603e19c485a.png

OK进去了!

2>修改登陆数据库密码。

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') where USER='root';

flush privileges; #刷新授权

重置密码后一定要执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

flush privileges;

设置任何ip都可以登录:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

flush privileges;

退出mysql:

quit;

22f88d748839481b56861b10719d4358.png

密码修改之后再次进入配置文件:

vi /etc/my.cnf

注释掉,跳过密码检测的配置。重启mysql服务:

service mysqld restart

再次进入mysql需要输入修改之后的密码:

b7771e1f58b6403ab70a878c504130a4.png

六、修改防火墙设置、Navicat连接服务器数据库

1>设置centos7的开放端口

查看防火墙开放的端口:

firewall-cmd --list-ports

没有开放的端口

bc5ce18c31a600fbcb649efe8e489921.png

如果没有3306端口,是连接不上的,输入下面命令,使防火墙开放 3306端口(使用TCP协议的/永久开放的/公开的性质)

#开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

参数

描述

–add-port=3306/tcp

添加端口,格式为:端口/通讯协议

–remove-port=3306/tcp

移除端口,格式为:端口/通讯协议

–zone

作用域

–permanent

永久生效,没有此参数重启后失效

同样的方法,也可以用它来开放8080端口。

端口开放后怎么关闭开放端口呢?把add改成remove就OK了。

重启防火墙

firewall-cmd --reload

de6742ff2b3935ecc1373fb5a90656f1.png

2>禁用防火墙(不建议这么用)

systemctl stop firewalld.service #暂时停用防火墙

systemctl disable firewalld.service #永久关闭防火墙,不建议使用

同样的道理,有停用就有开启;有禁用就有启用:

systemctl startfirewalld.service #暂时停用防火墙

systemctl enable firewalld.service #永久关闭防火墙,不建议使用

3>Navicat连接服务器mysql

1ff19de7864f8a7540069e687ea84d95.png

连接测试:

923a4296ed97f9b2ec12542fb067e432.png

如果不做以上防火墙的设置,连接mysql会报错误:UnKnown Error。

参考链接

https://blog.csdn.net/weixin_36756708/article/details/97130901?utm_source=app

https://www.cnblogs.com/richiewlq/p/7521343.html

https://blog.csdn.net/yhl_jxy/article/details/53534194?utm_source=app

https://blog.csdn.net/qq_34691713/article/details/84106957

https://blog.csdn.net/WYA1993/article/details/88890883

https://blog.csdn.net/fireblue1990/article/details/74147190

https://www.cnblogs.com/jzz228/p/11147072.html

https://www.imooc.com/article/45082

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值