Введение учетной записи пользователя в MySQL

(Неоконченный ответ. В любом случае, если он помогает кому-либо, или в случае, если я вернусь к нему. Как правило, если вам нужно взаимодействовать со скаляром, который вы не можете векторизовать, неплохо просто сохранить вектор в локальном массив, а затем перезагрузите его по одному элементу за раз.)


См. мой другой ответ для деталей asm. Этот ответ о C ++ стороне вещей.


Используя библиотеку векторных классов Agner Fog , его классы-оболочки перегружают operator[], чтобы работать точно так, как вы ожидали , даже для непостоянных аргументов. Это часто компилируется в хранилище / перезагрузке, но упрощает запись кода на C ++. При включенной оптимизации вы, вероятно, получите достойные результаты. (за исключением того, что нижний элемент может быть сохранен / перезагружен, а не просто использоваться на месте. Поэтому вам может понадобиться специальный случай vec[0] в _mm_cvtss_f32(vec) или что-то в этом роде.)

См. также мой github repo с большинством непроверенных изменений в VCL Agner, чтобы генерировать лучший код для некоторых функций.


Существует макрос оболочки _MM_EXTRACT_FLOAT , но это странно и определяется только SSE4.1. Я думаю, что он предназначен для SSE4.1 extractps (который может извлекать двоичное представление float в целочисленный регистр или хранить в памяти). Он gcc компилирует его в перетасовку FP, когда пункт назначения является float. Будьте внимательны, если другие компиляторы не скомпилируют его в действительную инструкцию extractps, если вы хотите получить результат как float, потому что это не то, что extractps . (Это то, что insertps делает , но более простая перетасовка FP займет меньше байтов команд, например shufps с AVX отлично.)

Странно, потому что требуется 3 args: _MM_EXTRACT_FLOAT(dest, src_m128, idx), поэтому вы даже не можете использовать его как инициализатор для локального float.


Чтобы перебрать вектор

, gcc развит петля для вас, но только с -O1 или выше. На -O0 вы получите сообщение об ошибке.

float bad_hsum(__m128 & fv) {
    float sum = 0;
    for (int i=0 ; i<4 ; i++) {
        float f;
        _MM_EXTRACT_FLOAT(f, fv, i);  // works only with -O1 or higher
        sum += f;
    }
    return sum;
}

5
задан Shubham Sharma 26 December 2017 в 22:54
поделиться

5 ответов

Вы захотите использовать процесс восстановления пароля MySQL. Следуйте этим инструкциям, кроме замены запрос сброса пароля с запросом для добавления нового пользователя. Новый пользовательский запрос был бы чем-то как:

GRANT ALL ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Это создаст нового пользователя "myuser" с паролем "mypassword", кто может войти в систему MySQL через CLI локальной системы. Можно затем использовать MySQL Administrator GUI (загрузка здесь) и обновить полномочия пользователя, таким образом, можно войти в систему от других систем в сети. Или используйте GRANT оператор от CLI, если это - больше Вашего стиля.

9
ответ дан 14 December 2019 в 01:21
поделиться

У Вас есть доступ к рассматриваемому серверу MySQL?

Как в, какой доступ Вы имеете вне того, что был бы обычный пользователь? Необходимо попытаться пройти те маршруты, прежде чем Вы "взломаете" свой путь там, так как это может или не может быть выполнимо с тем программным обеспечением.

0
ответ дан 14 December 2019 в 01:21
поделиться

разногласия существует, включает сторону базы данных, сохраняющую журнал поэтому, когда Вы взломаете себя базу данных, они будут знать, когда и как Вы сделали это. Не хорошая идея.

0
ответ дан 14 December 2019 в 01:21
поделиться

Одна вещь, которая прибывает в памяти, осуществляет сниффинг коммуникации базы данных, и надеются, что она не шифруется. Если это шифруется попытка, изменяющая конфигурацию, чтобы не использовать SSL и перезапустить mysql. Хорошим сниффером, которого я использую, является Wireshark

Из документации mysql 5.0:

MySQL поддерживает безопасные (зашифрованные) соединения между клиентами MySQL и сервером с помощью протокола Уровня защищенных сокетов (SSL). В этом разделе рассматриваются, как использовать соединения SSL. Это также описывает способ настроить SSH в Windows. Для получения информации о том, как потребовать, чтобы пользователи использовали соединения SSL, видели обсуждение ПОТРЕБОВАТЬ пункта оператора GRANT в Разделе 12.5.1.3, “ПРЕДОСТАВЬТЕ Синтаксис”.

Стандартная конфигурация MySQL предназначается, чтобы быть максимально быстро, таким образом, зашифрованные соединения не используются по умолчанию. Выполнение так сделало бы клиент-серверный протокол намного медленнее. Шифрование данных является интенсивными действиями ЦП, которые требуют, чтобы компьютер сделал дополнительную работу, и могут задержать другие задачи MySQL. Для приложений, которые требуют безопасности, обеспеченной зашифрованными соединениями, гарантировано дополнительное вычисление.

MySQL позволяет шифрованию быть включенным на основе для каждого подключения. Можно выбрать нормальное незашифрованное соединение или безопасное зашифрованное соединение SSL согласно требованиям отдельных приложений.

Безопасные соединения основаны на OpenSSL API и доступны через MySQL C API. Репликация использует API C, таким образом, безопасные соединения могут использоваться между основными и ведомыми серверами.

Вы, вероятно, уже сделали, это, но все еще - пытается перерыть файлы конфигурации приложений. Если нет, ничто - не пытается перерыть исполняемые файлы/исходный код - возможно, это находится в простом тексте, если Вы удачливы.

0
ответ дан 14 December 2019 в 01:21
поделиться

Я предполагаю, что действительно не должен отвечать на этого, но это - просто слишком много забавы.

Посмотрите на Эту страницу о Внедрениях SQL. Это должно удовлетворить Ваши потребности. Эта страница показывает, как добавить учетные записи пользователей к MySQL

Я попытался бы ввести следующее в случайные поля ввода данных пользователем:

p'; INSERT INTO user VALUES

('localhost', 'myNewAdmin', ПАРОЛЬ ('some_pass'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

и затем

p'; FLUSH PRIVILEGES;

p'; предназначается для закрытия регулярного вопроса. например, - Нормальный вопрос:

"Select Adress from cusomers where custName = ' + $INPUT + ';

становится

    Select Adress from cusomers where custName = 'p'; INSERT INTO user 
VALUES('localhost','myNewAdmin',PASSWORD('some_pass'), 
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); 
0
ответ дан 14 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: