如何在CentOS7上安装MySQL并实现远程访问

时间:2022-04-21 11:39:44

传送门
本人乃学生小白一枚,近期在学习Linux,所以就简单记录一下~

安装MySQL

  • 首先,需要检查一下是否已经安装了MySQL : # rpm -qa | grep mysql

如何在CentOS7上安装MySQL并实现远程访问

这时候没有任何输出,则代表没有安装MySQL

  • CentOS7的yum源中没有自带的MySQL安装程序,所以要手动下载

如何在CentOS7上安装MySQL并实现远程访问

# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  • 安装刚才下载的mysql-community-release-el7-5.noarch.rpm
    如何在CentOS7上安装MySQL并实现远程访问

    # rpm -ivh mysql-community-release-el7-5.noarch.rpm
  • 正式安装MySQL : # yum install mysql-server
  • 等待安装完成后,重启MySQL服务: # service mysqld restart
  • 新安装的MySQL是没有密码的,下面进行密码设置

输入# mysql -uroot可以直接登录,设置密码的时候,一定记得用password()函数加密

mysql> set password = password('yourPassword');
or
mysql> update user set password = password('yourPassword') where user = 'root';
  • 修改完成后退出MySQL重启服务就可以了.(\q、quit、exit都可以退出)

远程访问

本人使用的腾讯云服务器

  • 首先,远程访问需要设置一个允许远程访问的用户,root用户默认是不允许远程访问的

    mysql> grant all privileges on *.* to 'yy'@'%' 

    授予yy用户所有访问权限,*.*代表任意数据库的任意表,%代表任意ip地址(这里也可以直接授予root用户这种权限)

授权完成后刷新一下 : mysql> flush privileges;

  • 其次,需要开放3306端口

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

    出现success即开放成功,然后重启防火墙

    # systemctl restart firewalld.service
  • 然后,需要设置一个安全组,在安全组的规则里面必须开放3306端口

这些工作作完之后,就可以开始尝试连接了

如何在CentOS7上安装MySQL并实现远程访问

我在连接的时候遇到了下面的问题,连接失败了

如何在CentOS7上安装MySQL并实现远程访问

我当时想到是

  1. 网络问题,使用ping命令查看能否ping
  2. 端口问题,检查了端口是否开放
  3. 服务器问题,查看MySQL服务是否开启
  4. 安全组设置问题,检查一下安全组的设置

然而呢,都不是这些问题,我也搜索了很久,最后被我发现了,是我安全组设置完了之后,没有关联实例!没有关联实例!没有关联实例!重要的事情说三遍.

以上就是我简单的学习记录.