Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年

目录

 

注册阿里云服务器

在云服务器里装个mysql

实现一个简单的功能,点击按钮把editText里的内容提交到阿里云的mysql中


如果我漏了什么步骤或碰到了啥问题,欢迎私聊~

 

1、注册阿里云服务器

阿里云的官网 https://www.aliyun.com,最下面有个学生机,

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第1张图片

点进去之后,根据要求注册一下信息啥的,然后选择 系统镜像,centos

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第2张图片

 

 

进去之后点左边栏里的远程连接,然后点设置密钥,会叫你创建一个密钥,下载下来保存在一个方便的地方。然后点《putty配置说明》,里面告诉你了怎么在自己的电脑里登录云服务器,我mac系统成功的截图是这样的。

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第3张图片

 

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第4张图片

 

这边可能会碰到个问题,就是如果你重置过云服务器的系统,那么他就会连接不上,会给你一圈@@@@@@@@的警告,解决方法是这样的,在终端里先登录root,然后找到root的主目录下面的.ssh,把里面的known_hosts删了,然后去云服务器把原来的密钥也删了(下载下来的也删了),重新领一个,就能正常连接了。

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第5张图片

 

2、mysql

在《putty配置说明》中有本地连接服务器的方法,像我前面发的,连接成功了就有alibaba cloud的欢迎词,代表此时已经进入了云服务器的终端

现在开始安装mysql

1、下载(这是个5.7.48的版本,因为要放到安卓里用,所以不要选太高)

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2、安装

yum install -y mysql-server

如果出现complete代表成功(也有可能是中文的“完成”)

3、设置开机启动Mysql 

systemctl enable mysqld.service

4、检查是否已经安装了开机自动启动
systemctl list-unit-files | grep mysqld
如果显示以下内容说明已经完成自动启动安装
mysqld.service enabled

5、设置开启服务
systemctl start mysqld.service

6、查看MySql默认密码
grep 'temporary password' /var/log/mysqld.log

7、登陆MySql,输入用户名和密码
mysql -u root -p,他会叫你输入上一条里你看到的密码,但屏幕不会显示出来

8、修改当前用户的密码

先把密码强度改为低
mysql> set global validate_password_policy=LOW

然后

mysql>SET PASSWORD = PASSWORD('12345678);

就可以设置个简单的8位数密码了

要是想设6位数的就:

mysql> set global validate_password_length=6; 

 

9、开启远程登录,授权root远程登录
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'a123456!' WITH GRANT OPTION;

10、命令立即执行生效
mysql>flush privileges;

11、检查一下

root的host有“%”了就行,表示可以远程登录了。

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第6张图片

 

3、Android(Java)

用jdbc连接,用的连接的包是这个,https://dev.mysql.com/downloads/connector/j/5.1.html,

放到libs下面,右键点击Add as library(添加为库)

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第7张图片

 

Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年_第8张图片

还有就是要加个网络权限,

我写了中文的地方就是你要自己修改的

package com.example.mysql;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class MainActivity extends AppCompatActivity {

    private Button btn;
    private EditText editText;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = findViewById(R.id.btn1);
        editText = findViewById(R.id.edit1);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        String s = editText.getText().toString();
                        try {
                            Class.forName("com.mysql.jdbc.Driver");
                            String url = "jdbc:mysql://你的云服务器的IP地址:3306/数据库名";
                            String name = "root";
                            String passwd = "你的密码";
                            Connection connection = DriverManager.getConnection(url,name,passwd);
                            String sql = "insert into test values(?)";
                            PreparedStatement preparedStatement = connection.prepareStatement(sql);
                            preparedStatement.setString(1,s);
                            preparedStatement.executeUpdate();
                            preparedStatement.close();
                            connection.close();
                        } catch (ClassNotFoundException e) {
                            e.printStackTrace();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        });

    }
}

 

如果我漏了,评论里评论下我会看的0.0

 

你可能感兴趣的:(Android(或Java) 连接阿里云服务器的mysql 完整教程 2020年)