← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1885825] Re: No implicit user creation with GRANT syntax in MySQL 8.0 Ubuntu Focal

 

Reviewed:  https://review.opendev.org/738723
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=e0d541073da06a583681774b2ecb61bf5a9bd2d1
Submitter: Zuul
Branch:    master

commit e0d541073da06a583681774b2ecb61bf5a9bd2d1
Author: Ghanshyam Mann <gmann@xxxxxxxxxxxxxxxxx>
Date:   Tue Jun 30 21:21:39 2020 -0500

    Fix user creation with GRANT in MySQL 8.0(Ubuntu Focal)
    
    In Ubuntu Bionic (18.04) mysql 5.7 version used to create
    the user implicitly when using using the GRANT.
    
    Ubuntu Focal (20.04) has mysql 8.0 and with mysql 8.0 there
    is no implicit user creation with GRANT. We need to
    create the user first before using GRANT command.
    
    Nova unit and functional tests job using tools/test-setup.sh
    script start failing when running on Ubuntu Focal
    
    https://zuul.opendev.org/t/openstack/build/8b0f4fcc21854655a638c413b6fe1a91
    
    Error log:
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the manual
    that corresponds to your MySQL server version for the right syntax to use near
    'identified by 'openstack_citest' WITH GRANT OPTION' at line 2
    
    Story: #2007865
    Task: #40200
    
    Change-Id: I97b0dcbb88c6ef7c22e3c55970211bed792bbd0d
    Closes-Bug: #1885825


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1885825

Title:
  No implicit user creation with GRANT syntax in MySQL 8.0 Ubuntu Focal

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Ubuntu Focal (20.04) has mysql 8.0 and with mysql 8.0 there is no
  implicit user creation with  GRANT syntax.

  In Ubuntu Bionic (18.04) mysql 5.7 version used to create the user
  implicitly when using using the GRANT. But starting with mysql 8.0, we
  need to create the user explicitly before using the GRANT command.

  Nova unit and functional tests job using tools/test-setup.sh script
  start failing when running on Ubuntu Focal

  https://zuul.opendev.org/t/openstack/build/8b0f4fcc21854655a638c413b6fe1a91

  + sudo -H mysql -u root -pinsecure_slave -h localhost -e '
      DELETE FROM mysql.user WHERE User='\'''\'';
      FLUSH PRIVILEGES;
      GRANT ALL PRIVILEGES ON *.*
          TO '\''openstack_citest'\''@'\''%'\'' identified by '\''openstack_citest'\'' WITH GRANT OPTION;'
  mysql: [Warning] Using a password on the command line interface can be insecure.
  ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'openstack_citest' WITH GRANT OPTION' at line 2

  
  we need to modify the tools/test-setup.sh to create user first.

  Below used to work with mysql 5.7

  GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' identified by '$DB_PW'
  WITH GRANT OPTION;"

  With mysql 8.0 we need to create user first

  CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
  GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' WITH GRANT OPTION;"

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1885825/+subscriptions


References