Linking MySql Database to Azure - mysql

I have a Database using MySql, however i want to migrate to azure MySql which i know is possible, I am new to Azure.
My question if i make changes to the local database, is it possible to automatically update the tables in azure with same changes?
I want to link both Database together and any changes effected on any will affect the other.

This functionality is available and is called Data-In replication. Please see: How to configure Azure Database for MySQL Data-in Replication for instructions on how to configure this functionality. Please see the Limitations and Considerations but the following are the requirements:
The master server version must be at least MySQL version 5.6.
The master and replica server versions must be the same. For example, both must be MySQL version 5.6 or both must be MySQL version 5.7.
Each table must have a primary key.
Master server should use the MySQL InnoDB engine.
User must have permissions to configure binary logging and create new users on the master server.
If the master server has SSL enabled, ensure the SSL CA certificate provided for the domain has been included in the mysql.az_replication_change_master stored procedure. Refer to the following examples and the master_ssl_ca parameter.
Ensure the master server's IP address has been added to the Azure Database for MySQL replica server's firewall rules. Update firewall rules using the Azure portal or Azure CLI.
Ensure the machine hosting the master server allows both inbound and outbound traffic on port 3306.
Ensure the master server has a public IP address, the DNS is publicly accessible, or has a fully qualified domain name (FQDN).

Related

set SSL to Domain name for MYSQL database

I have to setup SSL connection for MYSQL with domain name. Database server running on Ubuntu 18 LTS. So i have to setup SSL for domain name in MYSQL database server. I have referred some documents which are like default ssl in mysql. Is possible to setup SSL for domain name in MYSQL database then Kindly tell me the steps to be done or refer me with some documents.
It is possible to setup SSL for domain name in MYSQL database.
By default, MySQL is configured to only accept local connections. If you need to allow remote connections, it is important to do so securely.
So here is the demonstrate to configure MySQL on Ubuntu 16.04 to accept remote connections with SSL/TLS encryption.
might help you
thanks

Why is my MySQL Database on AWS not accessible?

I cannot reach my MySQL Database instance I created on AWS.
What I tried was to set the public access of the Database to "Publicly accessible" here:
Also I tried to set Inbound/Outbound rules for the MySQL port here:
Honestly I think using "All" ports would include 3306 too. Anyways, I tried it this way because yet it didn't work. I cannot connect to the database via MySQL Workbench, nor can I use a ping request on the given endpoint.
I would be glad if someone here has an idea what I could try else.
This will not work if you have deployed it in a private subnet which has no internet access.
Another possibility is that there is ACLs that is stopping the traffic. Security group only touch the RDS instance, the ACLs control traffic in the entire subnet.
Here is a dev AWS tutorial that creates a web application that stores data in MySQL running on the cloud. It will show you how to setup the database and the inbound rules. Once you do, you can store data or query data from MySQL. Likewise, you can use MySQL Workbench to interact with MySQL on the cloud.
AWS RDS Tutorial

How to Setup Master - Slave Replication in PhpMyAdmin GUI

I'm trying to setup a master (Local Server) - slave (Remote Server) replication in PhpMyAdmin and I can't seem to find a reference how to setup without using the command line only in the PhpMyAdmin user interface.
Basically, you can't. The MySQL server process has to be enabled and configured for replication in either case, and to modify the MySQL configuration you have to edit the configuration file my.cnf. This is not something phpMyAdmin can modify arbitrarily when connecting; it has to be set in MySQL from when the software first initializes.
That's why the directions show the relevant lines you have to modify in the MySQL configuration; because MySQL requires it to be done that way. Unfortunately, there's no way to graphically enable MySQL replication from the graphical interface alone.

mysql replication without direct connection

I am trying to replicate a remote mysql database to my internal mysql server.
The problem is that I do not have a direct connection available between both mysql servers.
Internally, there is a custom server application (which I've developped my self). This server application allows incoming connections on 1 port only (with ssl encryption). Once the connection is made, custom written commands can be executed over that connection (like sending specific backup files, remote browsing, etc... just client/server stuff).
Now I need to add mysql replication, but there is no direct connection possible. I was thinking to write something like a PORTFORWARD command in my server app which would transfer the replication data to the mysql server interally, something like this:
remote mysql server replication process->remote client application->internal server application-> internal mysql server.
That would probably work, but I think that's gonna be a fragile solution, all connect/disconnect events will need to be forwarded in all circumstances.
Any better ideas for this?
Thanks,
Vincent
Replication in the sense do you want the Remote server database data's to your Internal server?
if So you could follow Backup and Restore MySQL Database Using mysqldump
Or If want your client server application to access the remote server database follow this Can't remotely connect through SQL Server Management Studio

MySQL Master/Slave with Castle Activerecord

I have an existing web application using Castle Activerecord to interact with a single MySQL database. The Database has recently been reconfigured to replicate to a number of Slaves.
How do you configure Castle Activerecord to direct writes to the MySQL Master and reads to the MySQL Slaves or are there other ways of achieving Master/Slave operation transparently in this setup?
I have never done this, but I think this kind of things are better handled at the DB-driver level. Indeed, Connector/J has a specific ReplicationDriver for this purpose. The Connector/NET documentation has a rather vague reference to replication:
Host, Server, Data Source, DataSource, Address, Addr, Network Address:
The name or network address of the
instance of MySQL to which to connect.
Multiple hosts can be specified
separated by &. This can be useful
where multiple MySQL servers are
configured for replication and you are
not concerned about the precise server
you are connecting to. No attempt is
made by the provider to synchronize
writes to the database so care should
be taken when using this option. In
Unix environment with Mono, this can
be a fully qualified path to MySQL
socket file name. With this
configuration, the Unix socket will be
used instead of TCP/IP socket.
Currently only a single socket name
can be given so accessing MySQL in a
replicated environment using Unix
sockets is not currently supported.