Advertisement

阿里云服务器安装MySQL并设置远程连接

阅读量:

操作系统:CentOS 7.3 64位

Mysql版本 5.7.29

安装 yum repo

1. CentOS 的yum源中没有mysql,需要到官网下载yum repo配置文件。

复制代码
    wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2. 安装repo

复制代码
    rpm -ivh mysql57-community-release-el7-9.noarch.rpm

在执行完成后,在位于 /etc/yum.repos.d/ 目录中的位置创建两份 repo 文件:mysql-community.repomysql-community-source.repo

使用yum命令安装mysql

1. 安装命令
复制代码
    yum install mysql-server
2. 启动mysql
复制代码
    systemctl start mysqld
3. 获取安装时的临时密码
复制代码
    grep 'temporary password' /var/log/mysqld.log

登录

1. 使用生成的密码进行登录
复制代码
    mysql -uroot -p"生成的密码"

在配置过程中生成的一个特殊字符串中包含了;字符,在这种情况下直接应用转义方法会导致无法解析的问题。经过进一步排查发现,在无法直接访问配置文件的情况下,默认情况下对字符串进行加双引号处理后能够实现正常的解析与引用功能。

2. 登陆成功后修改密码
复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

密码修改需要符合一定的规则,规则可以自己修改。

设置MySQL远程连接

1. 赋予权限
复制代码
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
2. 执行命令,使其生效
复制代码
    flush privileges;
3. 查询数据库的用户是否创建成功
复制代码
    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
在这里插入图片描述
4. 接下来配置防火墙

CentOS7默认的防火墙不是iptables,而是firewalld.

4.1 首先我们停止并禁用firewalld服务

复制代码
    systemctl stop firewalld
    systemctl mask firewalld

4.2 安装iptables-services

复制代码
    yum install iptables-services

4.3 设置开机启动

复制代码
    systemctl enable iptables
    
    systemctl start iptables

4.4 配置端口

复制代码
     vim /etc/sysconfig/iptables

在端口22那一行下面添加两行

复制代码
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

完整文件如下

复制代码
    # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
     
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
5. 最后,在阿里云控制台添加安全组规则
在这里插入图片描述

测试连接

参考资料

[1]. CentOS7下安装mysql5.7

在阿里云服务器上基于Ubuntu 16.04/ CentOS 7.3 操作系统配置MySQL数据库实现远程访问

[3]. 阿里云服务器远程连接mysql数据库

全部评论 (0)

还没有任何评论哟~