
正文
主从数据库java代码 主从数据库数据不一致怎么办
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
mysql主从数据库的问题:到底谁触发谁?
1,MySQL 使用3 个线程来执行复制功能(其中1 个在主服务器上,另两个在从服务器上。当从服务器发出START SLAVE时,从服务器创建一个I/O线程,以连接主服务器并让主服务器发送二进制日志。主服务器创建一个线程将二进制日志中主从数据库java代码的内容发送到从服务器。从服务器I/O 线程读取主服务
器Binlog Dump线程发送的内容并将该数据拷贝到从服务器数据目录中的本地文件中,即中继
日志。第3个线程是SQL 线程,从服务器使用此线程读取中继日志并执行日志中包含的更新。
2,如1所述,主服务器收到从服务器的同步请求后,开始向从服务器发送二进制日志
3,附件的文档可以参考下
注:你使用java程序同步数据,先不说java的效率,仅仅全部sql都同步到从表再顺序执行就有问题,反复查库,插数据,还有数据不一致的问题,如insert into tab values (now())等等主从数据库java代码;
个人意见,仅供参考
相关问答
Q1: java中怎么向数据库插入数据 ?
Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);
//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import
java.sql.ResultSet;
import java.sql.SQLException;
import
java.sql.Statement;
import java.util.ArrayList;
public class ConnDb {
public Connection startConn(Connection conn){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:数据库","用户名", "密码");
} catch (Exception e) {
System.out.println("连接数据库时出现错误");
}
return conn;
}
public ArrayList executeQuery(String sql){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ArrayList list = new ArrayList();
try {
conn = startConn(conn);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);//sql为sql语句例如"select * from
表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来
while(rs.next()){
TestBean tb = new TestBean();
tb.setTid(rs.getString("tid"));
tb.setTname(rs.getString("tname"));
tb.setTinfo(rs.getString("tinfo"));
list.add(tb);
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
return list;
}
public void executeUpdate(String sql){
Connection conn = null;
Statement stmt = null;
try {
conn =
startConn(conn);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch (SQLException e) {
System.out.println("修改,插入或者删除数据库数据时发生错误!");
}finally{
closeConn(stmt,conn);
}
}
public void closeConn(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs !=
null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch
block
System.out.println("关闭数据库的时候发生错误!");
}
}
public void closeConn(Statement stmt,Connection conn){
try {
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("关闭数据库的时候发生错误!");
}
}
}
Q2: java怎么把数据库的数据取出来
java 对读取数据库的数据可以显示在网页上,可以对数据进行分类,保存到其它数据库或者是文件里等,当然前提就是要把数据读取出来
以读取数据为例:
解析:
上面代码就是首先注册驱动,然后进行连接
如果连接成功
就可以用select语句进行执行并读取了
Q3: 怎么使用JAVA连接数据库?
1、加载驱动程序。
2、创建连接对象。
3、创建sql语句执行对象 。
4、执行sql语句。
5、对执行结果进行处理。
6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。
处理结果两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。
扩展资料:
Statement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
参考资料:百度百科JAVA
Q4: 数据库跟Java代码之间到底有什么联系,是如何查找数据的?
简单来说,没有任何联系。Java是编程语言,是用来操作数据的。数据库是用来存取数据的。Java代码通过JDBC(Java Data Base Connectivity :java数据库连接)可以实现对数据库的操作。在网上随便搜搜JDBC就知道了,例如这个:
Q5: redis主从集群 主挂掉 java怎样调用从
从机的redis命令行输入slaveofnoone转换为主机,然后要么修改主机ip要么修改java程序中的主机ip地址。
另外建议看下redis sentinel 主从切换(failover)解决方案
主从数据库java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于主从数据库数据不一致怎么办、主从数据库java代码的信息别忘了在本站进行查找喔。







