Manual:mysql.php
MediaWiki file: mysql.php | |
---|---|
Location: | maintenance/ |
Source code: | master • 1.41.1 • 1.40.3 • 1.39.7 |
Classes: | MysqlMaintenance |
Details edit
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 edit
Option | Description | Required |
---|---|---|
--write | Connect to the primary database | Optional |
--group | Specify query group | Optional |
--host | Connect to a specific MySQL server | Optional |
--list-hosts | List the available database hosts | Optional |
--cluster | Use an external cluster by name | Optional |
--wikidb | The database wiki ID to use if not the current one | Optional |
Usage edit
php maintenance/mysql.php [ --write| --group| --host| --list-hosts| --cluster| --wikidb ]
Log in to MySQL client edit
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 edit
Terminal
$ php maintenance/mysql.php --list-hosts primary.serv.er replica1.serv.er replica2.serv.er
Log in to MySQL client with cluster edit
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 edit
- 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.