to be
a problem slover

centos安装mysql5.7

概述

本文介绍如何在centos 7系统中安装mysql 5.7

版本信息:
centos版本:release 7.7.1908
mysql版本:5.7.29

如果是其他系统安装mysql可以下载mysql官方的安装文件

step1 – 添加mysql yum repo

这是一个一次性操作,可以通过安装MySQL提供的RPM来执行

# -- On CentOS and RHEL 7 -- 
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

# -- On CentOS and RHEL 6 -- 
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

# -- On Fedora 27 -- 
dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

# -- On Fedora 26 -- 
dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

# -- On Fedora 25 -- 
dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

如果要安装别的mysql版本,可以在这里获得相应的rpm链接

step2 – 安装mysql server

# On CentOS and RHEL 7/6
yum install mysql-community-server

# On Fedora 27/26/25
dnf install mysql-community-server

以上命令会安装mysql server 5.7和所需要的依赖

stpe3 – 启动mysql

启动mysql

systemctl start mysqld

设置开机启动

systemctl enable mysqld

查看mysql服务端口,默认为3306

netstat -plntu | grep mysqld

首次启动会生成临时密码,查看日志中的临时密码

grep 'A temporary password' /var/log/mysqld.log |tail -1

step4 – mysql安全配置

执行mysql_secure_installation来做mysql初始安全配置

/usr/bin/mysql_secure_installation

输入上个步骤拿到的临时密码开始进入交互式配置

可配置的选项有:

  • 为root账户重设密码
  • 关闭root账户远程连接
  • 关闭匿名账户
  • 移除test数据库

step5 – 测试登录

mysql -uroot -p

step6 – 其他设置(可选)

更改mysql端口

如果不想用3306端口,可用在配置文件中自定义端口

vi /etc/my.cnf

在里面加上port=xxxx

然后重启mysql服务

$ systemctl restart mysql

注意: centos的安全模块SElinux比较严格,它设定了mysql的可用端口为1186,3306以及63132~63164,所以端口最好设在这个范围里

$ semanage port -l | grep mysqld
mysqld_port_t                  tcp      1186, 3306, 63132-63164

如果想自定义端口,请参考:centos设置服务使用非标准端口

开启远程连接

/etc/my.cn中增加bind-address = 0.0.0.0

重启mysql服务systemctl restart mysql

检查端口监听情况netstat -tunlp | grep mysqld
未开启远程连接前

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::3306                :::*                    LISTEN      30820/mysqld

开启远程连接后

$ netstat -tunlp | grep mysqld
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306           0.0.0.0:*               LISTEN      29714/mysqld

telnet测试

$ telnet your_public_ip mysql_port

如果telnet不通,报错”No route to host”,应该是防火墙阻挡了,请参考 centos firewalld防火墙管理 – 开放端口章节。

参考资料

MySQL 5.7 Reference Manual
How to Install MySQL 5.7 on Linux CentOS and Ubuntu

赞(6) 打赏
欢迎转载,注明出处:刘世明的博客 » centos安装mysql5.7

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下作者

支付宝扫一扫打赏

微信扫一扫打赏