When MySQL Shell enters either into JavaScript or Python mode, it searches for startup scripts to be executed. The startup scripts are JavaScript or Python specific scripts containing the instructions to be executed when the corresponding mode is initialized.
Startup scripts must be named as follows:
For JavaScript mode:
mysqlshrc.jsFor Python mode:
mysqlshrc.py
MySQL Shell searches the following paths for these files (in order of execution).
On Windows:
%PROGRAMDATA%MySQLmysqlshmysqlshrc.[js|py]%MYSQLSH_HOME%sharedmysqlshmysqlshrc.[js|py]<mysqlsh binary path>mysqlshrc.[js|py]%APPDATA%MySQLmysqlshmysqlshrc.[js|py]
On Linux and OSX:
/etc/mysql/mysqlsh/mysqlshrc.[js|py]$MYSQLSH_HOME/shared/mysqlsh/mysqlshrc.[js|py]<mysqlsh binary path>/mysqlshrc.[js|py]$HOME/.mysqlsh/mysqlshrc.[js|py]
The environment variable MYSQLSH_HOME defines
the root folder of a standard setup of MySQL Shell. If
MYSQLSH_HOME is not defined it is automatically
calculated based on the location of the MySQL Shell binary,
therefore on many standard setups it is not required to define
MYSQLSH_HOME.
If MYSQLSH_HOME is not defined and the
MySQL Shell binary is not in a standard install folder
structure, then the path defined in option 3 in the above lists is
used. If using a standard install or if
MYSQLSH_HOME points to a standard install
folder structure, then the path defined in option 3 is not used.
The lists above also define the order of searching the paths, so if something is defined in two different scripts, the script executed later takes precedence.