[关闭]
@Mr-13 2020-09-03T09:01:24.000000Z 字数 1985 阅读 75

CentOS7服务器上部署MySQL

Linux



一、添加yum源

MySQL官网:https://dev.mysql.com/downloads/repo/yum/

  进入官网去选择和是的rpm包,包的作用是添加MySQL yum源,请下载对应的yum源,我用的centos7,下载的是 mysql80-community-release-el7-3.noarch.rpm 。如下图:
  
image
  
  下载之后通过XFTP上传文件到服务器,然后执行 yum localinstall 命令:

  1. yum localinstall mysql80-community-release-el7-3.noarch.rpm

  如果权限不够请使用sudo执行,执行完毕过后我们可以使用 cd /etc/yum.repos.d进入到目录中查看文件,发现会有如下两个文件:

  • mysql-community.repo
  • mysql-community-source.repo




二、安装

  当我们添加好yum源之后就可以执行安装命令:

  1. yum install mysql-community-server




三、启动

  安装完成之后使用 systemctl 可以执行MySQL的启动、关闭、重启:

  1. systemctl start mysqld.service
  1. systemctl status mysqld.service

image

  1. systemctl stop mysqld.service
  1. systemctl restart mysqld.service




四、修改密码

  当MySQL服务启动之后我们就需要对密码进行更改:MySQL 默认创建了 root 用户的密码,这个密码打印在 MySQL 的日志文件 /var/log/mysqld.log 中,可以通过 temporary password 关键字来找出这个临时的密码。

  1. grep 'temporary password' /var/log/mysqld.log

image

  1. mysql -u root -p

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

执行上述命令密码会将被修改为:NewPassword

PS:
  新版本的MySQL对密码强度有限制,执行到上一步的时候,会提示密码强度不够,则应更改为更高强度的密码。

  1. systemctl restart mysqld.service




五、开放远程连接

  MySQL默认只对本机开放连接,我们则需要对 user库中mysql表host 字段进行修改以支持其他主机连接, % 表示所有。

  1. #Linux下操作
  2. # 先连接数据库
  3. use mysql;
  4. #设置数据库允许其他主机连接
  5. update user set host = '%' where user = 'root';

  更改完成之后刷新权限:

  1. flush privileges;

  然后在navicat中连接:(mysql新版的和之前的密码加密方式不同,若遇到连接错误,请使用navicat12尝试进行连接,或者修改mysql的密码加密方式,暂不赘述)

  连接名取什么无所谓,主机是服务器ip,端口如果没有改动,默认3306,记得在服务器控制台中和防火墙开放端口,否则依然无法连接!



六、修改端口和防火墙放行

  进入mysql数据库,输入show global variables like 'port'; 查看端口号

  1. mysql> show global variables like 'port';
  2. +---------------+-------+
  3. | Variable_name | Value |
  4. +---------------+-------+
  5. | port | 3306 |
  6. +---------------+-------+
  7. 1 row in set (0.00 sec)

  修改端口,编辑文件,vim /etc/my.conf,添加端口参数:
  port=2937
  
image

PS: 2937为我自己修改的端口号!之后连接端口就是2937;端口号根据实际需要设置即可。

  然后重启mysql:

  1. systemctl restart mysqld.service

  
防火墙:

  查看防火墙状态,如图,防火墙正在运行:

  1. systemctl status firewalld

image

  开放端口放行:

  1. -A INPUT -p tcp -m tcp --dport 2937 -j MANAGEMENT

image

  MANAGEMENT 是自定义链;上图中,允许访问22、2937端口的IP地址都在MANAGEMET链中定义;可以认为这是一个“管理地址”配置链。

  重启iptables让设置的防火墙规则生效:

  1. systemctl restart iptables.service

  至此,MySQL端口号和防火墙配置完毕!

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注