CentOS安装及配置mysql5.7


第一次在服务器上安装,记录下安装步骤及配置相关流程

安装mysqk

安装mysql环境

先下载mysql5.7,目前是市面上用5.7的还是很多,版本也是比较稳定且免费(虽然对于个人使用都是免费的)

wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

下载完成后查看下载的是不是正确
ll -lht
解压

tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

安装新版mysql前,需将系统自带的mariadb-lib卸载

rpm -qa|grep mariadb
# 返回的是mariadb-libs-5.5.60-1.el7_5.x86_64,删除mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

严格按照顺序安装

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm

如果安装过程中出现这个错误就在后面添加 --force --nodeps,这可能是由于yum安装了旧版本的GPG keys造成的

warning: mysql-community-libs-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.29-1.el7.x86_64
        mariadb-libs is obsoleted by mysql-community-libs-5.7.29-1.el7.x86_64

yum安装流程

sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-community-server

如果报如下错

Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql57-community/packages/
  mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm: 
  Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥

源 “MySQL 5.7 Community Server” 的 GPG 密钥已安装,但是不适用于此软件包。
请检查源的公钥 URL 是否配置正确。
或者配置跳过校验

vi /etc/yum.repos.d/mysql-community.repo

吧这个改成0 gpgcheck=0

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0   #原来是1,改成0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

配置数据库

配置数据库配置文件

打开数据库配置文件

vi /etc/my.cnf

添加这几行,

skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'
bind-address= 0.0.0.0    
# bind-address默认情况下,该值设置为127.0.0.1(仅在本地主机中监听)。在此示例中,我们将值更改为0.0.0.0,将MySQL服务器设置为侦听所有IPv4接口。

如果有包含skip-networking的行,请删除该行或在行的开头添加#以将其注释掉。

设置启动及远程访问

设置开机启动

systemctl start mysqld.service

启动mysql

mysql

设置密码

update mysql.user set authentication_string=password('123456') where user='root';

授予远程访问权

GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';

其中:
database_name是用户将连接到的数据库的名称。
user_name是MySQL用户的名称。
ip_address是用户将要从中连接的 IP地址。使用%允许用户从任何IP地址进行连接。
user_password是用户密码。

立即生效

flush privileges;

配置防火墙

FirewallD 是CentOS中的默认防火墙管理工具,要允许从Internet上的任何IP地址访问(非常不安全),开放端口,请输入:

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

–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议,3306为数据库一般的端口
–permanent #永久生效,没有此参数重启后失效

重启防火墙

firewall-cmd --reload

要允许从特定端口上的特定IP地址进行访问,您可以创建新的FirewallD区域或使用丰富规则。好创建一个名为mysqlzone的新区域

firewall-cmd --new-zone=mysqlzone --permanent
firewall-cmd --reload
firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
firewall-cmd --reload

要验证远程用户是否可以连接到MySQL服务器,请运行以下命令:

mysql -u user_name -h mysql_server_ip -p

其中user_name是您被授予访问权限的用户名,mysql_server_ip是运行MySQL服务器的主机的IP地址。

如果收到类似以下的错误,则说明端口3306未打开,或者MySQL服务器未监听IP地址。
ERROR 2003 (HY000): Can't connect to MySQL server on '10.8.0.5' (111)"
以下错误表示您尝试登录的用户无权访问远程MySQL服务器。

"ERROR 1130 (HY000): Host ‘10.8.0.5’ is not allowed to connect to this MySQL server"

结论

第一次部署mysql,花费了不少时间也差了不少资料。以上是部署过程及总结,部分内容借鉴了一些博客。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值