<?php
/**
+ * Wikimedia specific
+ *
+ * This script generates SQL used to update MySQL users on a hardcoded
+ * list of hosts. It takes care of setting the wikiuser for every
+ * database as well as setting up wikiadmin.
+ *
* @todo document
- * @package MediaWiki
- * @subpackage Maintenance
+ * @file
+ * @ingroup Maintenance
+ * @ingroup Wikimedia
*/
/** */
$wikiuser_pass = `wikiuser_pass`;
$wikiadmin_pass = `wikiadmin_pass`;
-$wikisql_pass = `wikisql_pass`;
+$nagios_pass = `nagios_sql_pass`;
-if ( @$argv[1] == 'yaseo' ) {
- $hosts = array(
- 'localhost',
- '211.115.107.158',
- '211.115.107.159',
- '211.115.107.160',
- '211.115.107.138',
- '211.115.107.139',
- '211.115.107.140',
- '211.115.107.141',
- '211.115.107.142',
- '211.115.107.143',
- '211.115.107.144',
- '211.115.107.145',
- '211.115.107.146',
- '211.115.107.147',
- '211.115.107.148',
- '211.115.107.149',
- '211.115.107.150',
- '211.115.107.152',
- '211.115.107.153',
- '211.115.107.154',
- '211.115.107.155',
- '211.115.107.156',
- '211.115.107.157',
- );
-} else {
- $hosts = array(
- 'localhost',
- '10.0.%',
- '66.230.200.%',
- );
-}
+$hosts = array(
+ 'localhost',
+ '10.0.%',
+ '66.230.200.%',
+ '208.80.152.%',
+);
$databases = array(
'%wik%',
+ 'centralauth',
);
-print "/*!40100 set old_passwords=1 */;";
-print "/*!40100 set global old_passwords=1 */;";
+print "/*!40100 set old_passwords=1 */;\n";
+print "/*!40100 set global old_passwords=1 */;\n";
-foreach( $hosts as $host ) {
- print "--\n-- $host\n--\n\n-- wikiuser\n\n";
+foreach ( $hosts as $host ) {
+ print "--\n-- $host\n--\n";
+ print "\n-- wikiuser\n\n";
print "GRANT REPLICATION CLIENT,PROCESS ON *.* TO 'wikiuser'@'$host' IDENTIFIED BY '$wikiuser_pass';\n";
- print "GRANT ALL PRIVILEGES ON `boardvote`.* TO 'wikiuser'@'$host' IDENTIFIED BY '$wikiuser_pass';\n";
- print "GRANT ALL PRIVILEGES ON `boardvote2005`.* TO 'wikiuser'@'$host' IDENTIFIED BY '$wikiuser_pass';\n";
- foreach( $databases as $db ) {
+ print "GRANT ALL PRIVILEGES ON `boardvote%`.* TO 'wikiuser'@'$host' IDENTIFIED BY '$wikiuser_pass';\n";
+ foreach ( $databases as $db ) {
print "GRANT SELECT, INSERT, UPDATE, DELETE ON `$db`.* TO 'wikiuser'@'$host' IDENTIFIED BY '$wikiuser_pass';\n";
}
-/*
- print "\n-- wikisql\n\n";
- foreach ( $databases as $db ) {
-print <<<EOS
-GRANT SELECT ON `$db`.`old` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`imagelinks` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`image` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`watchlist` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`site_stats` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`archive` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`links` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`ipblocks` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`cur` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT (user_rights, user_id, user_name, user_options) ON `$db`.`user` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`oldimage` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`recentchanges` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`math` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-GRANT SELECT ON `$db`.`brokenlinks` TO 'wikisql'@'$host' IDENTIFIED BY '$wikisql_pass';
-
-EOS;
- }*/
-
print "\n-- wikiadmin\n\n";
print "GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'wikiadmin'@'$host' IDENTIFIED BY '$wikiadmin_pass';\n";
- print "GRANT ALL PRIVILEGES ON `boardvote`.* TO wikiadmin@'$host' IDENTIFIED BY '$wikiadmin_pass';\n";
- print "GRANT ALL PRIVILEGES ON `boardvote2005`.* TO wikiadmin@'$host' IDENTIFIED BY '$wikiadmin_pass';\n";
+ print "GRANT ALL PRIVILEGES ON `boardvote%`.* TO wikiadmin@'$host' IDENTIFIED BY '$wikiadmin_pass';\n";
foreach ( $databases as $db ) {
print "GRANT ALL PRIVILEGES ON `$db`.* TO wikiadmin@'$host' IDENTIFIED BY '$wikiadmin_pass';\n";
}
+ print "\n-- nagios\n\n";
+ print "GRANT REPLICATION CLIENT ON *.* TO 'nagios'@'$host' IDENTIFIED BY '$nagios_pass';\n";
+
print "\n";
}
-?>
+