Bug #99373 util.checkForServerUpgrade() 8.0.20 failed The upgrade check needs to be perform
Submitted: 27 Apr 2020 19:36 Modified: 31 May 2021 8:33
Reporter: Abdullah Zarour Email Updates:
Status: Closed Impact on me:
None 
Category:Shell Upgrade Checker Severity:S1 (Critical)
Version:8.0.20 OS:CentOS
Assigned to: CPU Architecture:x86

[27 Apr 2020 19:36] Abdullah Zarour
Description:
I have installed the new release of mysqlsh 8.0.20 and try to run the Util.checkForServerUpgrade with targetversion 8.0.20 against current setup running mysql server 8.0.16 and i have used all users root and create dedicated users with full privileges but not lock , as well check the log of mysqlsh with log-level=8 nothing reporting except :
2020-04-27 19:15:12: Debug: Util.checkForServerUpgrade: The upgrade check needs to be performed by user with ALL privileges. (LogicError)

How to repeat:
How to reproduce .
1. Install mysql server 8.016 
2. Install mysqlsh 8.0.20 
3. create user with full privileges
4. Run  Util.checkForServerUpgrade
5 Failed with logicalError

No default schema selected; type \use <schema> to set one.
 MySQL  localhost:33060+ ssl  JS >
 MySQL  localhost:33060+ ssl  JS >
 MySQL  localhost:33060+ ssl  JS > util.checkForServerUpgrade()
Util.checkForServerUpgrade: The upgrade check needs to be performed by user with ALL privileges. (LogicError)
 MySQL  localhost:33060+ ssl  JS >
 MySQL  localhost:33060+ ssl  JS >
 MySQL  localhost:33060+ ssl  JS >

MySQL Shell 8.0.20-commercial

Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
 MySQL  JS > util.checkForServerUpgrade('admin@mysqldb01.localhost.com:3306')
Please provide the password for 'admin@mysqldb01.localhost.com:3306': ********
Save password for 'admin@mysqldb01.localhost.com:3306'? [Y]es/[N]o/Ne[v]er (default No): yes
Util.checkForServerUpgrade: The upgrade check needs to be performed by user with ALL privileges. (LogicError)

2020-04-27 19:15:12: Debug: Util.checkForServerUpgrade: The upgrade check needs to be performed by user with ALL privileges. (LogicError)
[29 Apr 2020 10:52] MySQL Verification Team
Hello Abdullah,

Thank you for the report and feedback.

regards,
Umesh
[18 May 2020 14:10] Konrad Olesinski
Posted by developer:
 
This is the same bug as the Bug#31085098.
[31 May 2021 8:33] MySQL Verification Team
Internal base bug is closed with:

Changelog entry added for MySQL Shell 8.0.21:

The user account that is used to run MySQL Shell's upgrade checker utility
checkForServerUpgrade() previously required ALL privileges. The user account
now requires only the RELOAD, PROCESS, and SELECT privileges.

Documentation change made in
https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-upgrade.html