Я не видел такого конкретного подхода, поэтому я хотел бы использовать метод сравнения, который мне нравится использовать как для string
, так и для number
:
const objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
const sortBy = fn => (a, b) => -(fn(a) < fn(b)) || +(fn(a) > fn(b))
const getLastName = o => o.last_nom
const sortByLastName = sortBy(getLastName)
objs.sort(sortByLastName)
console.log(objs.map(getLastName))
Вот объяснение sortBy()
:
sortBy()
принимает параметр fn
, который выбирает какое значение для объекта для использования в качестве сравнения и возвращает функцию, которая может передаются непосредственно на Array.prototype.sort()
. В этом примере мы используем o.last_nom
как значение для сравнения, поэтому всякий раз, когда мы получаем два объекта через Array.prototype.sort()
, такие как
{ first_nom: 'Lazslo', last_nom: 'Jamf' }
и
{ first_nom: 'Pig', last_nom: 'Bodine' }
мы используем
(a, b) => -(fn(a) < fn(b)) || +(fn(a) > fn(b))
для их сравнения.
Вспоминая, что fn = o => o.last_nom
, мы можем развернуть функцию сравнения с эквивалентом
(a, b) => -(a.last_nom < b.last_nom) || +(a.last_nom > b.last_nom)
. Логическое Оператор OR ||
имеет функцию короткого замыкания, которая здесь очень полезна. Из-за того, как это работает, тело функции выше означает
if (a.last_nom < b.last_nom) return -1
return +(a.last_nom > b.last_nom)
Итак, если a < b
мы возвращаем -1
, в противном случае, если a > b
, то мы возвращаем +1
, но если a == b
, тогда a < b
и a > b
являются ложными, поэтому он возвращает +0
.
В качестве дополнительного бонуса здесь эквивалент в ECMAScript 5.1 без функций стрелок, что, к сожалению, не совсем так:
var objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
var sortBy = function (fn) {
return function (a, b) {
return -(fn(a) < fn(b)) || +(fn(a) > fn(b))
}
}
var getLastName = function (o) { return o.last_nom }
var sortByLastName = sortBy(getLastName)
objs.sort(sortByLastName)
console.log(objs.map(getLastName))
Эта проблема очень хорошо решается пользователями Windows Server.
. Перейдите по этому пути. C: \ Program Files \ MySQL \ MySQL Server 5.1 \ bin
запустить этот инструмент «MySQLInstanceConfig.exe»
и снова сконфигурировать экземпляр, и проблема решена
Решение, которое решило проблему, заключалось в следующем:
В меню «Пуск» выполните поиск «mysql». Среди результатов вы должны увидеть «MySQL Installer - Community». Запустить его. Откроется окно установщика MySQL, как показано ниже. Найдите «MySQL Server» в разделе «Продукт» и нажмите ссылку «Переконфигурировать». Сообщество установщика MySQL
Появится установщик MySQL (тот же, который вы использовали для первой установки MySQL Server). Пройдите все шаги.
После завершения установки MySQL я снова запустил службу MySQL.
В случае установки Xampp.
В моем случае перейдите к вашей установке xampp и папке mysql: C: \ xampp \ mysql
Запустите файл "resetroot.bat" из cmd или explorer.
Моя установка начала работать !!!
Ну, в моем случае я просто открыл services.msc, используя run и перезапустил 2 из сервисов, связанных с mysql, и это сработало!
Я обнаружил, что та же самая ошибка повторяется даже после того, как я попробовал все приведенные выше решения. Я даже попробовал версию 5.7 и еще немного. Парни не тратят ваше время, пытаясь это исправить. Скорее установите версию 5.5. Работает отлично, без лишних ошибок.
У меня была такая же ошибка. Я решил таким образом
Зайдите в start-MySQL Installer-community и снова запустите установщик в качестве переконфигурации (вас спросят об этом).
Однажды спросив, хотите ли вы, чтобы экземпляр MySQL работал как служба Windows, установите флажок.
В случае, если это не сработает, попробуйте удалить и установить заново и установите флажок для запуска MySQL как службы Windows.
Для тех, у кого такая же проблема: «Не удается подключиться к серверу MySQL на« localhost »(10061)» или «Не удается подключиться к серверу MySQL на« 127.0.0.1 »(10061)». Вы можете установить «MySQL Installer», и это ссылка http://dev.mysql.com/downloads/windows/installer/5.6.html , и это руководство для получения дополнительной помощи https: //www.youtube.com/watch?v=AqQc3YqfelE
это работает для меня, и я тоже хочу работать для вас.
Просто выключите брандмауэр и удалите конфигурацию экземпляра. Добавьте новый экземпляр для сервера.! [Disable Firewall] [1] Дайте ему номер порта правильно, как 3306 по умолчанию
У меня тоже была эта проблема, ее легко решить:
Перейти к панели управления - Система и ее обслуживание - Система - Расширенные настройки системы - Переменные среды - Системные переменные - путь - щелкнуть, изменить - добавить
"c:\xampp\mysql\bin"
- это должно выглядеть так:
\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\QuickTime Alternative\QTSystem;c:\xampp\mysql\bin
И не забудьте запустить MySQL из панели управления Xampp.
В Windows 7 1) нажмите Windows + R, откроется Run 2) Войдите в services.msc 3) Найдите mysql, щелкните правой кнопкой мыши и запустите 4) если mysql не был найден 1) Запустите cmd от имени администратора 2) перейдите в C: \ Program Файлы (x86) \ MySQL \ MySQL Server 5.6 \ bin (для возврата используйте cd ..) и введите «mysqld.exe --install» 5), следуйте шагу 3 Вот и все
В меню «Пуск» выполните поиск «mysql». Среди результатов вы должны увидеть «MySQL Installer - Community». Запустите его.
Окно MySQL Installer появится, как показано ниже. Найдите «MySQL Server» в разделе «Продукт» и нажмите ссылку «Переконфигурировать».
Появится установщик MySQL (тот же, что вы использовали для первой установки MySQL Server). Пройдите все шаги.
После завершения установки MySQL я снова запустил службу MySQL. На этот раз «Журнал загрузочных сообщений» в MySQL Notifier показывал, что сервер успешно запущен:
Из того, что я собрал, это означает, что служба mysql (mysqld) не работает.
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install
из командной строки.
services.msc > MySQL > start
Если перезапуск не удается, вы можете выполнить следующие действия:
cmd.exe > open as administrator
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --verbose
, он должен завершиться ошибкой и поместит журнал ошибок в каталог с именем данные в C: \ Program Files \ MySQL \ MysSQL Server 5.7 \ . Если по какой-то причине не удается создать данные , сделайте это вручную в этом каталоге и повторите попытку. Если вы можете выяснить, чего не хватает в том, что находится в этом журнале, тогда хорошо, все готово.
Если вам все еще не повезло, вот как я это сделал:
goto C:\ProgramData\MySQL
и скопируйте файл с именем my.ini в C:\Windows\
попробуйте снова запустить службу из командной строки: "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --verbose
Если не отображается ошибка, чем запуск службы был успешным. Если это все еще не работает, то удалите my.ini , который вы только что скопировали из C:\Windows
, и снова запустите службу из командной строки.
это должно работать сейчас
Решение 1:
Для 32-битных: Запустите «mysql.exe» из: C: \ Program Files \ MySQL \ MySQL Server 5.6 \ bin
Для 64-разрядных: Запустите «MySQLInstanceConfig.exe» из: C: \ Program Files \ MySQL \ MySQL Server 5.6 \ bin
Решение 2:
Ошибка (2002) Не удается подключиться к ... обычно означает, что в системе не работает сервер MySQL или вы используете неверное имя файла сокета Unix или номер порта TCP / IP при попытке подключиться к серверу. Вам также следует убедиться, что используемый вами порт TCP / IP не был заблокирован брандмауэром или службой блокировки портов.
Ошибка (2003) «Не удается подключиться к серверу MySQL на сервере» (10061) означает, что в сетевом соединении отказано. Вы должны убедиться, что сервер MySQL работает, на нем включены сетевые подключения и что указанный вами сетевой порт настроен на сервере.
Источник: http://dev.mysql.com/doc/refman/5.6/en/starting-server.html Посетите его для получения дополнительной информации.
Я решил эту проблему, добавив следующие аргументы в строку командной строки:
mysql --user username --password пароль --host localhost --port 3306 databasename < "системный путь к файлу .sql"
Без --host & amp; Аргументы --port, особенно если вы измените порт на, скажем, 3307, который не является значением по умолчанию, вызовут эту ошибку.
Для версии 5.7 у меня была та же проблема, и простое исправление помогло. Как установлено Workbench 5.7, было еще одно «программное обеспечение», называемое «MySQL Installer Community». Я запустил это и запустил «Reconfigure» для сервера MySQL. Это заняло около минуты, и проблемы больше не было.
Надеюсь, что это работает! (Имейте в виду, что я использовал версию 5.7)
У меня была эта ошибка - глупая ошибка была, я использовал -p3307
для указания порта, тогда как я должен был использовать -P3307
, то есть заглавную P. Маленькое 'p' для пароля arg:)
У меня Windows 8.1, и у меня тоже была эта проблема. Мой учитель сказал мне, что это, вероятно, потому что мой сервер MySQL перестал работать. Она сказала мне, чтобы я зашел в утилиту «Управление компьютером» (щелкните правой кнопкой мыши в нижнем левом углу экрана в Windows 8.1, чтобы получить доступ к управлению компьютером). Затем в разделе «Службы и приложения» откройте Службы и найдите MySQL. Вы должны иметь возможность щелкнуть правой кнопкой мыши MySQL и перезапустить его.
Простое решение, которое сработало для меня: измените localhost на 127.0.0.1 в вашем database.yml или в своем скрипте, если вы его пишете.
Я также столкнулся с той же проблемой и решил ее с помощью следующих настроек:
Проверьте службу MYSQL в службе Windows. Если он там и не работает, то запустите его. Это решит вашу проблему.
Окно служб можно найти, перейдя в меню «Пуск» окна и введя «службы» в строке поиска. Выберите опцию «Сервисы» с винтиками рядом с ним (не с исполняемым файлом), и появится окно ниже. Прокрутите вниз, чтобы найти «MySql (версия)». Когда вы выбираете MySql, вы должны увидеть опцию на левой панели, которая говорит: «Запустите сервис». Нажмите здесь, и появится диалоговое окно, указывающее, что Windows пытается запустить службу. После запуска на левой панели появится возможность остановить, приостановить и перезапустить службу, и теперь вы сможете подключиться к MySql из строки Windows cmd.
Если служба MYSQL отсутствует в службе Windows, выполните следующие настройки.
а. Откройте cmd как администратор.
б. cd в C: \ Program Files (x86) \ MySQL \ MySQL Server 5.6 \ bin
c. Запустите команду: C: \ Program Files (x86) \ MySQL \ MySQL Server 5.6 \ bin> mysqld.exe --install
d. Проверьте MySql в службе Windows, и если он не запущен, запустите его, нажав на службу.
е. Если вы используете XAMMP. Запустите MySQL на панели управления XAMMP.
Пожалуйста, выполните следующие действия:
, затем нажмите « Windows key + R » write « services.msc », запустите от имени admin
, чтобы запустить службу MySQL. .
, если отображается ошибка 2003 (HY000): не удается подключиться к серверу MySQL на локальном хосте (10061), чем
поскольку, кто человек, которые хотят использование mysql или mariadb с любой ошибкой, которую я предлагаю, версия 5.5 использования просто загружает zip-файл mariadb-5.5.65-winx64.zip
от , https://downloads.mariadb.org/mariadb/5.5.65 / и устанавливать следуют этому учебному руководству setp шагом https://www.youtube.com/watch? v=uEPs6JsTZFc (это учебное руководство работает хорошо на версию 5.5 также)