| Bug #110545 | mysql shell does not accept some parameters of defaults file | ||
|---|---|---|---|
| Submitted: | 29 Mar 2023 11:18 | Modified: | 12 Jun 2024 12:25 |
| Reporter: | Eduardo Ortega (OCA) | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | Shell General / Core Client | Severity: | S3 (Non-critical) |
| Version: | 8.0.32 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | mysqlsh, mysqlshell, shell | ||
[30 Mar 2023 18:13]
Alfredo Kojima
I can't reproduce this, there's no default-character-set option in the cnf file that was pasted.
[31 Mar 2023 9:30]
Eduardo Ortega
Apologies, the pipe to head was chopping the relevant part. Here it is:
```
[ 8828 ] user@some-host ~/sandboxes/msb_8_0_27 % ➜ cat my.sandbox.cnf |grep -v '^#.*' |head -n 12
[mysql]
prompt='mysql [\h:8027] {\u} (\d) > '
[client]
user = msandbox
password = msandbox
port = 8027
socket = /var/folders/8p/60l87z5s4v95qxxxp3q59fv00000gp/T/mysql_sandbox8027.sock
default-character-set = utf8mb4
```
[22 Dec 2023 12:58]
MySQL Verification Team
Thank you for the bug report. Please try with latest version. Thanks.
[10 Jan 2024 14:16]
Eduardo Ortega
It does not yet seem to work, neither with 8.0.35 nor with 8.2.1: ``` user@host ~/sandboxes/msb_8_0_33 % ➜ mysqlsh --version mysqlsh Ver 8.0.35 for macos13 on x86_64 - for MySQL 8.0.35 (MySQL Community Server (GPL)) user@host ~/sandboxes/msb_8_0_33 % ➜ mysqlsh --defaults-file=my.sandbox.cnf -sql -e 'select 1' While processing defaults options: mysqlsh: unknown option --default-character-set user@host ~/sandboxes/msb_8_0_33 % ➜ mysqlsh --version mysqlsh Ver 8.2.1 for macos13 on x86_64 - for MySQL 8.2.0 (MySQL Community Server (GPL)) user@host ~/sandboxes/msb_8_0_33 % ➜ mysqlsh --defaults-file=my.sandbox.cnf -sql -e 'select 1' While processing defaults options: mysqlsh: unknown option --default-character-set ```
[26 Jan 2024 17:06]
Dejan Radosevic
Shell 8.3.0 still complains about it. Meaning upgrade_checking of 8.0.36 to 8.3.0 is not possible !
[29 Jan 2024 11:15]
Dejan Radosevic
ok, it seems that default-character-set is not needed. 8.0.36 works normally without it.
[12 Jun 2024 12:25]
MySQL Verification Team
Hello Eduardo Ortega, Thank you for the bug report. Discussed your issue internally with the developer and concluded that this is not a bug. Options that are not supported by all clients should either be moved from [client] to [mysql] etc or prefixed with loose- Regards, Ashwini Patil

Description: Several MySQL utilities can use defaults file, where the user can specify options that they want used by default to connections. Unfortunately, the shell does not seem to like/understand at least some options that other MySQL utilities do. Example: ``` [ 8752 ] user@host ~/sandboxes/msb_8_0_27 % ➜ cat my.sandbox.cnf |grep -v '^#.*' |head -n 10 [mysql] prompt='mysql [\h:8027] {\u} (\d) > ' [client] user = msandbox password = msandbox port = 8027 [ 8754 ] user@host ~/sandboxes/msb_8_0_27 % ➜ mysql --defaults-file=my.sandbox.cnf -e 'select 1' +---+ | 1 | +---+ | 1 | +---+ [ 8755 ] user@host ~/sandboxes/msb_8_0_27 % ➜ mysqlsh --defaults-file=my.sandbox.cnf While processing defaults options: mysqlsh: unknown option --default-character-set ``` This means that the same options file cannot currently be used for the shell and other utilities. How to repeat: See steps in the example given in the description. Suggested fix: If the option specified in the file makes sense, support it and use it. If it does not make sense for the shell, even if it does for other utilities, log a warning specifying that it is ignored instead of failing to start the shell.