A method for data synchronization, comprising: in a process of database-level synchronization through a database-level synchronization link between a first database and a second database, sending, by a data access apparatus, to the first database, a request for creating a transaction, wherein the request comprises an operation command required for executing the transaction; establishing an application-level synchronization link between the data access apparatus, the temporary storage queue, the first database, and the second database; when the first database executes the transaction according to the operation command, through the application-level synchronization link, acquiring, by the data access apparatus, a sequence number from the first database, and sending the operation command required for executing the transaction and the sequence number corresponding to the transaction to a temporary storage queue for storage, wherein the sequence number is assigned by the first database to the transaction; acquiring, by the data access apparatus, a switching sequence number from the second database when detecting that the second database is writable after a database-level synchronization link between the first database and the second database is disconnected, wherein the switching sequence number is a sequence number corresponding to a last transaction synchronized from the first database; and determining, by the data access apparatus, a sequence number that is stored in the temporary storage queue and follows the switching sequence number, and sending an operation command required for executing a transaction corresponding to the determined sequence number to the second database, so as to implement application-level data synchronization. in a process of database-level synchronization through a database-level synchronization link between a first database and a second database, sending, by a data access apparatus, to the first database, a request for creating a transaction, wherein the request comprises an operation command required for executing the transaction; establishing an application-level synchronization link between the data access apparatus, the temporary storage queue, the first database, and the second database; when the first database executes the transaction according to the operation command, through the application-level synchronization link, acquiring, by the data access apparatus, a sequence number from the first database, and sending the operation command required for executing the transaction and the sequence number corresponding to the transaction to a temporary storage queue for storage, wherein the sequence number is assigned by the first database to the transaction; acquiring, by the data access apparatus, a switching sequence number from the second database when detecting that the second database is writable after a database-level synchronization link between the first database and the second database is disconnected, wherein the switching sequence number is a sequence number corresponding to a last transaction synchronized from the first database; and determining, by the data access apparatus, a sequence number that is stored in the temporary storage queue and follows the switching sequence number, and sending an operation command required for executing a transaction corresponding to the determined sequence number to the second database, so as to implement application-level data synchronization.