Arhn - архитектура программирования

Массовая вставка MySQL из файлов данных CSV

У меня есть несколько файлов данных CSV, которые я хочу импортировать в mySQL. Я хотел бы сделать вставку в сценарий оболочки, чтобы ее можно было автоматизировать. Тем не менее, я немного устал от имени пользователя и пароля в виде открытого текста в сценарии.

У меня есть следующие вопросы:

  1. Мне не нравится идея использования uname/pwd в виде открытого текста в скрипте (есть ли что-то подобное, или я слишком параноик)?. Может быть, я могу настроить пользователя только с правами INSERT для вставки таблицы?

  2. Таблица базы данных (в которую импортируются необработанные данные) имеет уникальный ключ, основанный на столбцах таблицы. Также возможно, что в данных, которые я пытаюсь импортировать, могут быть дубликаты. Вместо того, чтобы ругать mySQL (т.е. вся вставка не удалась), я бы вместо этого хотел иметь возможность указать mySQL ЛИБО

(a) ОБНОВИТЬ строку с новыми данными ИЛИ (b) ИГНОРИРОВАТЬ повторяющуюся строку.

Какой бы параметр я ни выбрал, он будет для ВСЕГО импорта, а не для строки за строкой. Есть ли какие-либо флаги и т. д., которые я могу передать в mysql, чтобы он вел себя как (a) ИЛИ (b) выше

  1. Может ли кто-нибудь предложить отправную точку, как написать такой (Bourne) сценарий оболочки?
11.05.2010

Ответы:


1

Вам следует прочитать об mysqlimport, инструменте командной строки. предоставляется с MySQL. Этот инструмент — самый быстрый способ массовой загрузки данных CSV.

Инструмент имеет две опции, --replace и --ignore для обработки дублирование ключевых конфликтов.

Что касается безопасности и избегания ввода пароля в виде простого текста в сценарии, вы также можете использовать переменную среды MYSQL_PWD или файл .my.cnf (убедитесь, что файл имеет режим 400 или 600). См. Рекомендации для конечных пользователей по безопасности паролей.

11.05.2010
  • Спасибо - кстати, вы уверены, что вы не принц Эдуард (граф Уэссекса), маскирующийся здесь под выродка;) 11.05.2010
  • РЖУ НЕ МОГУ! Джиг вверх! Ну что ж, полагаю, это мой полный график королевских обязанностей. 11.05.2010
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..