File: mysql_to_mariadb.sql

package info (click to toggle)
mariadb-10.1 10.1.45-0%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 476,916 kB
  • sloc: cpp: 1,124,656; ansic: 871,843; perl: 52,917; sh: 40,078; pascal: 35,370; javascript: 15,555; yacc: 14,728; ruby: 8,684; xml: 5,377; sql: 3,490; makefile: 2,934; python: 1,970; java: 1,691; asm: 837; lex: 757; php: 22; sed: 16
file content (22 lines) | stat: -rw-r--r-- 1,210 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- Script that changes MySQL 5.7 privilege tables to MariaDB 10.x
-- This should be run first with
-- mysql --force mysql < mysql_to_mariadb.sql
-- It's ok to ignore any errors, as these usually means that the tables are
-- already fixed.

-- After this script s run, one should run at least:
-- mysql_upgrade --upgrade-system-tables
-- to get the other tables in the mysql database fixed.

-- Drop not existing columnms
alter table mysql.user drop column `password_last_changed`, drop column `password_lifetime`, drop column `account_locked`;

-- Change existing columns
alter table mysql.user change column `authentication_string` `auth_string` text COLLATE utf8_bin NOT NULL;

-- Add new columns
alter table mysql.user add column  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '' after `user`, add column  `is_role` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N' after `auth_string`;
alter table mysql.user add column `default_role` char(80) COLLATE utf8_bin NOT NULL DEFAULT '', add column `max_statement_time` decimal(12,6) NOT NULL DEFAULT '0.000000';

-- Fix passwords
update mysql.user set `password`=`auth_string`, plugin='' where plugin="mysql_native_password";