Hi,
These last few days I have been playing with the code for replication and the related synchronization code.
I regret not having had the time this summer to test this earlier.... But the impression I get is that the code has only been tested in a limited scenario.
Some of the following points could be considered "nice to have's", but I wanted to at least note them.
At every step I run into problems:
1) The added replication user missed the privileges to even query for the master info (REPLICATION CLIENT) 2) Synchronisation is only made possible directly after setting the master info. But for this the replication user requires even more privileges. So there should be some way to use different credentials for this.
3) When syncing it fails me either with : Fatal error: Allowed memory size of x bytes exhausted or Backtrace from warning 'Invalid argument supplied for foreach()' at svn_root/trunk/phpMyAdmin/libraries/server_synchronize.lib.php 641:
The memory problem occured when the database to sync was larger then the php's memory_limit. But increasing this to N*10 was still not enough :(.
4) There should be a way to change the Binlog_Do_DB and Binlog_Ignore_DB. Although this requires manual editing the my.cnf why not reuse the initial form to make this clear?
5) There should be a way to set Replicate_Do_DB on the slave. We could reuse some code from the master config generator for this.
6) Why not include a small list of slaves for a configured master? SHOW SLAVE HOSTS; should provide this data
7) The code style and HTML validity are standards are not met. Indentation, newlines ( I saw a dos2unix was needed by Michal), overall structure in harmony with the style guidelines Could we add this to the list of 'things to check' on future GSOC's?
In conclusion, I would like to ask the GSOC students to look over the svn diffs from the last few days which relate to the new code. If you are willing to help in fixing similar problems then that's great, but at least try to learn from them.