вторник, 24 марта 2015 г.

Перенос пользователей Mysql

на сервере с которого нужно перенести пользователей создаем хранимую процедуру:
CREATE DEFINER=`alexk`@`%` PROCEDURE `showGrants`()
  LANGUAGE SQL
  NOT DETERMINISTIC
  CONTAINS SQL
  SQL SECURITY DEFINER
  COMMENT ''
BEGIN
  DECLARE v VARCHAR(64) CHARACTER SET utf8;
  DECLARE c CURSOR FOR
  SELECT DISTINCT CONCAT(
  'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
  ) AS query FROM mysql.user;
  DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
  OPEN c;
  WHILE TRUE DO
  FETCH c INTO v;
  SET @v = v;
  PREPARE stmt FROM @v;
  EXECUTE stmt;
  END WHILE;
  CLOSE c;
END

после чего выполняем её в консоли и записываем в файл:
mysql -h <host> -u <user> -b <db> -p -e "call showGrants" > grants

И подготавливаем файл для выполнения в mysql:
cat grants | awk '{if ($1 != "Grants") print $0,";"}' > grants

Заливаем в базу:
cat grants | mysql -h <host> -u <user> -p

1 комментарий:

  1. Casino No Deposit Bonus codes | Play for free today | dlcd.com
    Casino 충주 출장마사지 No Deposit Bonus codes. Play 춘천 출장마사지 for free today. We have all 전라북도 출장샵 the latest online 영주 출장안마 casino no deposit bonus codes at 대전광역 출장안마

    ОтветитьУдалить