Skip to content

Commit

Permalink
MDEV-18768: Rename auth_socket to unix_socket on upgrades from MySQL
Browse files Browse the repository at this point in the history
This fixes bugs where upgrading MariaDB failed to start after an upgrade
from MySQL 5.7 in Ubuntu, where auth_socket has been the default for MySQL
as well for some time now.

This was adopted from Debian where this change has been since Apr 18, 2019:
https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/3919860b6a4ef98c098fef35fb34601adbb132b2
  • Loading branch information
ottok authored and robertbindar committed Apr 13, 2020
1 parent edc3899 commit c1bdf62
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions scripts/mysql_system_tables_fix.sql
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,14 @@ ALTER TABLE user
ALTER TABLE user
ADD Password char(41) character set latin1 collate latin1_bin NOT NULL default '' AFTER User;

# In MySQL the Unix socket authentication plugin has a different name. Thus the
# references to it need to be renamed in the user table. Thanks to the WHERE
# clauses this applies only to MySQL->MariaDB upgrades and nothing else.
UPDATE user
SET plugin='unix_socket' WHERE plugin='auth_socket';
DELETE FROM plugin
WHERE name='auth_socket';

ALTER TABLE user
MODIFY Password char(41) character set latin1 collate latin1_bin NOT NULL default '',
MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
Expand Down

0 comments on commit c1bdf62

Please sign in to comment.