MediaWiki file: mysql.php
Location: maintenance/
Source code: master 1.40.0 1.39.4 1.35.11
Classes: MysqlMaintenance

Details

The mysql.php maintenance script executes the MySQL client binary by connecting to the wiki's database. It takes credentials from LocalSettings.php and logs in to MySQL client.

Options

OptionDescriptionRequired
--writeConnect to the primary databaseOptional
--groupSpecify query groupOptional
--hostConnect to a specific MySQL serverOptional
--list-hostsList the available database hostsOptional
--clusterUse an external cluster by nameOptional
--wikidbThe database wiki ID to use if not the current oneOptional

Usage

php maintenance/mysql.php [ --write| --group| --host| --list-hosts| --cluster| --wikidb ]

Log in to MySQL client

Terminal
$ php maintenance/mysql.php
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 Homebrew

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

List database hosts

Terminal
$ php maintenance/mysql.php --list-hosts

primary.serv.er
replica1.serv.er
replica2.serv.er

Log in to MySQL client with cluster

If you use a database cluster to run your wiki with $wgExternalServers, you can use the --cluster option to log in.

$wgExternalServers = [
	'demoCluster' => [
		[ 'host' => 'leader.example.org', 'user' => 'userM',  'password' =>'pwdM',  'dbname' => 'dbM',  'type' => "mysql", 'load' => 1 ],
		[ 'host' => 'follower1.example.org', 'user' => 'userS1', 'password' =>'pwdS1', 'dbname' => 'dbS1', 'type' => "mysql", 'load' => 1 ],
		[ 'host' => 'follower2.example.org', 'user' => 'userS2', 'password' =>'pwdS2', 'dbname' => 'dbS2', 'type' => "mysql", 'load' => 1 ]
   ]
];
Terminal
$ php maintenance/mysql.php --cluster demoCluster
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 25
Server version: 8.0.26 Homebrew

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Common error

Error: invalid cluster

This error occurs when an invalid or non-existent cluster name is given to the script.

Error: this script only works with MySQL/MariaDB

This error occurs when you run the script on a wiki that uses sqlite.

See also

This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.