使用RDS for MySQL数据库(本地连接、数据库迁移、JDBC操作)
一、阿里云RDS介绍
什么是阿里云数据库RDS
阿里云关系型数据库(Relational Database Service,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus Advanced Server,高度兼容Oracle数据库)和MariaDB TX引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
数据库引擎
支持MySQL、SQL Server、PostgreSQL、PPAS、MariaDB五种数据库引擎,下面我们通过MySQL来介绍它。
MySQL是全球最受欢迎的开源数据库,作为开源软件组合LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用。Web 2.0时代,风靡全网的社区论坛软件系统Discuz!和博客平台WordPress均基于MySQL实现底层架构。Web 3.0时代,阿里巴巴、Facebook、Google等大型互联网公司都采用更为灵活的MySQL构建了成熟的大规模数据库集群。阿里云数据库RDS MySQL基于阿里巴巴的MySQL源码分支,经过双11高并发、大数据量的考验,拥有优良的性能和吞吐量。此外,阿里云数据库MySQL版还拥有经过优化的读写分离、数据库独享代理、智能调优等高级功能。当前RDS MySQL支持5.5、5.6、5.7和8.0版本。
二、RDS for MySQL实战
产品购买及基础配置
1.在阿里云官网创建账户并购买一个RDS实例
2.配置白名单
白名单相当于是配置外界可以访问该数据库的ip地址,购买后默认是只有127.0.0.1,在这里相当于什么ip都不允许通过,可以根据需求配置自己的ip,也可以直接配置0.0.0.0/0表示所有ip都可以访问,但是这样安全性不高。
3.创建账户
创建账户类似于本地数据库账户,之后可以通过用户来访问你的数据库,可以创建高权限账户,也可以创建普通用户,高权限用户默认可以使用任何权限,普通用户你可以为它配置需要的读写权限。
本地远程连接并操作RDS
1.RDS数据库的创建
进入RDS实例的控制台,找到数据库管理,点击创建数据库,也可以在创建时候为数据库配置用户。
2.使用本地数据库工具远程连接
我这里使用的是Navicat工具,主机名填写你在阿里云RDS实例的ip地址,用户名和密码填写你在RDS里创建的账户。
3.数据库CRUD操作
a.创建表
b.新增操作
c.修改操作
d.删除操作
本地数据库向RDS迁移
1.在本地创建一个一个用于数据迁移/同步的账号
2.对刚刚创建的迁移账户进行授权,例如授予账户具备具备所有数据库和表的所有权限,并允许从任意主机登录数据库
3.确认源库的binlog是否开启,如果没有开启,则通过配置文件修改
如下图则是未开启(状态为OFF)
如果是windows则在本地MySQL文件中找my.ini配置文件,开放log-bin注释配置为mysql_bin,顺便将server-id配置为大于1的数字
之后重新启动MySQL的服务,再次查询binlog的状态
4.查询源库的binlog格式是否为ROW模式,如果不是ROW模式,可以使用命令行设置,也可以通过修改ini文件的方式
5.如果版本大于5.6.2 时,需要确认源库的 binlog_row_image=full
6.将数据库迁移至RDS
进入阿里云数据迁移界面,上面填写自己数据库ip地址及刚刚创建的账户和密码,下面填写RDS的信息即可。
选择一个迁移对象,进行迁移
出现如下图则迁移成功
检查自己阿里云RDS中的数据可以看到刚刚迁移的来数据库,到这里数据库迁移工作就全部完成
Java通过JDBC远程操作RDS数据库
在网上下载mysql-connector-java的jar包,放在项目的libs目录下。
代码如下(需要根据自己数据库的表结构更改相应代码):
package com.one;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class TestDemo {private static final String dbdriver = "com.mysql.cj.jdbc.Driver";private static final String dburl = "jdbc:mysql://这里填你的RDS外网地址:3306/dbtest?" +"&useSSL=false&serverTimezone=UTC";private static final String user = "你的用户名";private static final String password = "你的密码";public static void main(String[] args) throws Exception{Class.forName(dbdriver);Connection conn = DriverManager.getConnection(dburl,user,password);Statement stat = conn.createStatement();//数据库增加数据操作
// String sql = "INSERT INTO user(user_id,user_name,user_age,user_sex) VALUES"
// + "(4,'啦啦啦','25','女')";
// int len = stat.executeUpdate(sql);
//
// System.out.println("影响数据行:" + len);//数据库修改数据操作
// String sql1 = "UPDATE user SET user_age = '20'"
// + "WHERE user_name = 'hjr'";
//
// int len = stat.executeUpdate(sql1);
//
// System.out.println("影响数据行:" + len);//对数据库的删除操作
// String sql = "delete from user where user_name = '啦啦啦'";
//
// int len = stat.executeUpdate(sql);
//
// System.out.println("影响数据行:" + len);//修改
// String sql = "update manager set idmanager = 1 where managername = 'pink'";
// int len = stat.executeUpdate(sql);
// System.out.println("影响数据行:" + len);//增加
// String sql = "insert into manager values(2,'hjr','181818')";
// int len = stat.executeUpdate(sql);
// System.out.println("影响数据行:" + len);//查询1
// String sql = "select * from manager";
// ResultSet rs = stat.executeQuery(sql);
//
// while(rs.next()){
// System.out.println(rs.getString(1) + " "
// + rs.getString(2) + " " + rs.getString(3));
// }//查询2String sql = "select * from user";ResultSet rs = stat.executeQuery(sql);System.out.println("RDS数据库user表信息如下:");while(rs.next()){int id = rs.getInt("user_id");String name = rs.getString("user_name");String age = rs.getString("user_age");String sex = rs.getString("user_sex");System.out.println(id + " " + name + " " + age + " " + sex);}stat.close();conn.close();}
}
参考文档:阿里云官方文档
本篇博客就介绍到这里,如果发现错误或者有任何疑问请及时提出
使用RDS for MySQL数据库(本地连接、数据库迁移、JDBC操作)相关推荐
- Navicat for Mysql建立本地连接出现 1044或1045的问题并如何解决。
一.解决1045错误问题 在我安装mysql的过程中,mysql已经安装成功,可是在建立数据库链接是报错:Navicat for Mysql建立本地连接出现 1045 -Access denied f ...
- mysql 1130本地连接_mysql ERROR 1130 问题解决方案
本地出现Error 1130问题解决方案 当连接mysql数据库的时候,出现ERROR 1130 (HY000): Host 'xxxx' is not allowed to connect to t ...
- 连接不了虚拟机mysql服务器,本地连接虚拟机MySQL提示is not allowed to connect
本文将解决本地Navicat连接远程MysqL服务器提示不允许连接. 一.问题还原 本地Navicat连接centos7.3虚拟机的MysqL数据库 确认连接后会报出一个这样的错误 二.发现问题 这个 ...
- 思软系统无法与服务器数据库建立连接,思软软件操作常见问题.doc
8.26 前台操作失误,导致某技师优轮次数大于实际轮班次数.(优轮指的是客户有要求长相好的技师或者其他要求,有些技师会优先安排) 解决方法:房态图----其他操作-----技师论过处理.(注:坐标式排 ...
- java web之数据库的连接(使用JDBC连接sql server)
一.安装JDBC驱动程序 二.加载驱动程序并建立连接对象 1.sql server的连接代码: 2.关于这里的用户名和密码 3.解决在用sa登录时可能出现的问题 三.建立数据库 四.在servlet中 ...
- java web之数据库的连接(使用JDBC连接sql server 2017)
一.安装JDBC驱动程序 二.加载驱动程序并建立连接对象 1.sql server的连接代码: 2.关于这里的用户名和密码 3.解决在用sa登录时可能出现的问题 三.建立数据库 四.在servlet中 ...
- mysql无法本地连接,本地连接腾讯云Mysql失败问题
腾讯云主机中MySQL无法远程连接的解决办法 在远程主机上,我开启了 mysql服务,用 phpmyadmin 可以打开,比如说用户名为 root,密码为 123456.不过用 Mysql 客户端远程 ...
- mysql 迁移 nosql_小米从关系型数据库Mysql到Nosql HBase的迁移实践操作
2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)于北京福朋喜来登集团酒 ...
- EF Core 小技巧:迁移已经应用到数据库,如何进行迁移回退操作?
场景描述:项目中存在两个迁移 Teacher 和 TeachingPlan ,TeachingPlan 在 Teacher 之后创建,并且已经执行 dotnet ef database update ...
- 本地链接 云数据库mysql_云数据库本地连接
开发好一个Django项目后,最终项目和数据库都要迁移到服务器上,但服务器上新建的数据库是没有数据的, 此时我们可以在Navicat工具中将本地数据库中的数据导入到服务器端的数据库中,但是当团队合作开 ...
最新文章
- 互联网各大公司职级和薪资一览
- java删除有序数组中的重复元素_java去除已排序数组中的重复元素
- vue-lazyload 的vue 懒加载的使用
- C++——类访问修饰符
- OpenCASCADE绘制测试线束:使用自定义命令扩展测试工具
- python网络运维案例代码库_OLDboy-python第八期运维教程
- SQLlite数据导入到mySQL_如何批量导入数据到Sqlite数据库
- 3d打印 开源_公开地图以实现可持续性,在农场进行3D打印以及更多开源新闻
- 性能测试工具一之ab(一)
- .dSYM文件的生成
- 不吹不黑聊聊前端框架--尤雨溪Live整理
- yarn的安装和使用
- 游戏建模教程:肌肉建模丨人体比例及肌肉骨骼介绍
- 浏览器打开就是360导航(浏览器被360劫持)
- java人员的宝贝:百宝箱。
- java openssl rsa_Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- 爬虫第六式:链家房源爬取
- java排列和组合算法
- 电路分析 基尔霍夫定律 详解课堂笔记
- 04、Netty学习笔记—(黏包半包及协议设计解析)