Skip to content

Commit 8c1f443

Browse files
author
Till Brehm
committed
Fixes #4932 Added missing mysql port settings in updater and installer.
Disabled sql-mode check in updater.
1 parent e7266c2 commit 8c1f443

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

install/lib/installer_base.lib.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,10 @@ public function configure_database() {
255255
$this->error('Stopped: Database already contains some tables.');
256256
} else {
257257
if($conf['mysql']['admin_password'] == '') {
258-
caselog("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null",
258+
caselog("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -P ".escapeshellarg($conf['mysql']['port'])." ".escapeshellarg($conf['mysql']['database'])." < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null",
259259
__FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in ispconfig3.sql');
260260
} else {
261-
caselog("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null",
261+
caselog("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." -P ".escapeshellarg($conf['mysql']['port'])." ".escapeshellarg($conf['mysql']['database'])." < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null",
262262
__FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in ispconfig3.sql');
263263
}
264264
$db_tables = $this->db->getTables();

install/lib/update.lib.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ function prepareDBDump() {
8282
if ($conf['powerdns']['installed']) {
8383
//** export the current PowerDNS database data
8484
if( !empty($conf["mysql"]["admin_password"]) ) {
85-
system("mysqldump -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." -c -t --add-drop-table --create-options --quick --result-file=existing_powerdns_db.sql ".$conf['powerdns']['database']);
85+
system("mysqldump -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." -P ".escapeshellarg($conf['mysql']['port'])." -c -t --add-drop-table --create-options --quick --result-file=existing_powerdns_db.sql ".$conf['powerdns']['database']);
8686
} else {
87-
system("mysqldump -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -c -t --add-drop-table --create-options --quick --result-file=existing_powerdns_db.sql ".$conf['powerdns']['database']);
87+
system("mysqldump -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -P ".escapeshellarg($conf['mysql']['port'])." -c -t --add-drop-table --create-options --quick --result-file=existing_powerdns_db.sql ".$conf['powerdns']['database']);
8888
}
8989

9090
// create a backup copy of the PowerDNS database in the root folder
@@ -103,7 +103,7 @@ function checkDbHealth() {
103103
$notok = array();
104104

105105
echo "Checking ISPConfig database .. ";
106-
exec("mysqlcheck -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." -r ".escapeshellarg($conf["mysql"]["database"]), $result);
106+
exec("mysqlcheck -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." -P ".escapeshellarg($conf['mysql']['port'])." -r ".escapeshellarg($conf["mysql"]["database"]), $result);
107107
for( $i=0; $i<sizeof($result);$i++) {
108108
if ( substr($result[$i], -2) != "OK" ) {
109109
$notok[] = $result[$i];
@@ -126,13 +126,14 @@ function updateDbAndIni() {
126126
global $inst, $conf;
127127

128128
//* check sql-mode
129+
/*
129130
$check_sql_mode = $inst->db->queryOneRecord("SELECT @@sql_mode");
130131
if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') {
131132
echo "Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION. Add\n\n";
132133
echo " sql-mode=\"NO_ENGINE_SUBSTITUTION\"\n\n";
133134
echo"to the mysqld-section in your mysql-config on this server and restart mysqld afterwards\n";
134135
die();
135-
}
136+
}*/
136137

137138
$unwanted_sql_plugins = array('validate_password');
138139
$sql_plugins = $inst->db->queryAllRecords("SELECT plugin_name FROM information_schema.plugins WHERE plugin_status='ACTIVE' AND plugin_name IN ?", $unwanted_sql_plugins);
@@ -209,9 +210,9 @@ function updateDbAndIni() {
209210

210211
//* Load patch file into database
211212
if( !empty($conf["mysql"]["admin_password"]) ) {
212-
$cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename;
213+
$cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." -P ".escapeshellarg($conf['mysql']['port'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename;
213214
} else {
214-
$cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename;
215+
$cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -P ".escapeshellarg($conf['mysql']['port'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename;
215216
}
216217

217218
if(in_array($next_db_version,explode(',',$silent_update_versions))) {

install/update.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@
154154
$conf['mysql']['charset'] = 'utf8';
155155
$conf["mysql"]["ispconfig_user"] = $conf_old["db_user"];
156156
$conf["mysql"]["ispconfig_password"] = $conf_old["db_password"];
157+
$conf['mysql']['port'] = $conf_old["db_port"];
158+
if($conf['mysql']['port'] == 0 || $conf['mysql']['port'] == '') $conf['mysql']['port'] = 3306;
157159
$conf['language'] = $conf_old['language'];
158160
$conf['theme'] = $conf_old['theme'];
159161
if($conf['language'] == '{language}') $conf['language'] = 'en';

0 commit comments

Comments
 (0)