@Mr-13
2020-09-03T09:01:24.000000Z
字数 1985
阅读 75
Linux
进入官网去选择和是的rpm包,包的作用是添加MySQL yum源,请下载对应的yum源,我用的centos7,下载的是 mysql80-community-release-el7-3.noarch.rpm
。如下图:
下载之后通过XFTP上传文件到服务器,然后执行 yum localinstall 命令:
yum localinstall mysql80-community-release-el7-3.noarch.rpm
如果权限不够请使用sudo执行,执行完毕过后我们可以使用 cd /etc/yum.repos.d进入到目录中查看文件,发现会有如下两个文件:
- mysql-community.repo
- mysql-community-source.repo
当我们添加好yum源之后就可以执行安装命令:
yum install mysql-community-server
安装完成之后使用 systemctl 可以执行MySQL的启动、关闭、重启:
systemctl start mysqld.service
systemctl status mysqld.service
systemctl stop mysqld.service
systemctl restart mysqld.service
当MySQL服务启动之后我们就需要对密码进行更改:MySQL 默认创建了 root 用户的密码,这个密码打印在 MySQL 的日志文件 /var/log/mysqld.log
中,可以通过 temporary password
关键字来找出这个临时的密码。
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
执行上述命令密码会将被修改为:NewPassword
PS:
新版本的MySQL对密码强度有限制,执行到上一步的时候,会提示密码强度不够,则应更改为更高强度的密码。
systemctl restart mysqld.service
MySQL默认只对本机开放连接,我们则需要对 user库中mysql表
的 host
字段进行修改以支持其他主机连接, %
表示所有。
#Linux下操作
# 先连接数据库
use mysql;
#设置数据库允许其他主机连接
update user set host = '%' where user = 'root';
更改完成之后刷新权限:
flush privileges;
然后在navicat中连接:(mysql新版的和之前的密码加密方式不同,若遇到连接错误,请使用navicat12尝试进行连接,或者修改mysql的密码加密方式,暂不赘述)
连接名取什么无所谓,主机是服务器ip,端口如果没有改动,默认3306,记得在服务器控制台中和防火墙开放端口,否则依然无法连接!
进入mysql数据库,输入show global variables like 'port'; 查看端口号
mysql> show global variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.00 sec)
修改端口,编辑文件,vim /etc/my.conf,添加端口参数:
port=2937
PS: 2937为我自己修改的端口号!之后连接端口就是2937;端口号根据实际需要设置即可。
然后重启mysql:
systemctl restart mysqld.service
防火墙:
查看防火墙状态,如图,防火墙正在运行:
systemctl status firewalld
开放端口放行:
-A INPUT -p tcp -m tcp --dport 2937 -j MANAGEMENT
MANAGEMENT
是自定义链;上图中,允许访问22、2937端口的IP地址都在MANAGEMET链中定义;可以认为这是一个“管理地址”配置链。
重启iptables让设置的防火墙规则生效:
systemctl restart iptables.service
至此,MySQL端口号和防火墙配置完毕!