шаблон text = <<"HERE" This Is A Multiline String HERE
недоступен в js (я помню, как много использовал его в своих добрых старых днях Perl).
Чтобы контролировать работу сложных или длинных многострочных строк, я иногда использую шаблон массива:
var myString =
['',
'some content
',
'someRefTxt',
''
].join('\n');
или анонимный шаблон уже показал (escape newline), который может быть уродливым блоком в вашем коде:
var myString =
' \
some content
\
someRefTxt \
';
Вот еще один странный, но работающий «трюк» 1 :
var myString = (function () {/*
some content
someRefTxt
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
внешнее редактирование: jsfiddle
[ дополнение 2015 ] ES6 поддерживает привязку строк к нескольким строкам с использованием строк шаблона :
let str = `This is a text
with multiple lines.
Escapes are interpreted,
\n is a newline.`;
let str = String.raw`This is a text
with multiple lines.
Escapes are not interpreted,
\n is not a newline.`;
1 Примечание: это будет потеряно после минификсации / обфускации ваш код
Войдите в консоль MySQL с пользователем root:
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
и измените плагин аутентификации с указанным там паролем:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Вы можете прочитать больше информации о плагине предпочтительной аутентификации в Справочном руководстве MySQL 8.0
Он отлично работает в докеретированной среде:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latest
docker exec -it mysql bash
mysql -u root -pPASSWORD
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
exit
exit
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
Итак, теперь вы можете войти в phpMyAdmin на http: // localhost: 8080 с root / PASSWORD
Как упоминалось в @kgr, MySQL 8.0.11 внесла некоторые изменения в метод аутентификации.
Я открыл отчет об ошибке phpMyAdmin об этом: https://github.com/phpmyadmin /phpmyadmin/issues/14220.
MySQL 8.0.4-rc отлично работал для меня, и я вроде как смешно для MySQL сделать такое изменение в выпуске уровня патча.
Я решил эту проблему, выполнив следующие действия:
apt-get
, который является Linux. Но ваш ответ для MacOS
– Peter
12 July 2018 в 07:16
Новый MySQL 8.0.11 использует caching_sha2_password
в качестве метода аутентификации по умолчанию. Я думаю, что phpMyAdmin не может понять этот метод аутентификации. Вам нужно создать пользователя с одним из старых методов проверки подлинности, например. CREATE USER xyz@localhost IDENTIFIED WITH mysql_native_password BY 'passw0rd'
.
Подробнее здесь https://dev.mysql.com/doc/refman/8.0/en/create-user.html и здесь https: //dev.mysql.com/doc/refman/8.0/en/authentication-plugins.html
Как было указано в других ответах, изменение плагина аутентификации по умолчанию MySQL на native делает трюк.
Тем не менее, поскольку я не могу использовать новый caching_sha2_password , я подожду, пока не будет разработана совместимость для закрытия темы.
Я пошел в систему
preferences -> mysql -> initialize database -> использовать устаревшее шифрование пароля (вместо сильного) -> ввести тот же пароль
blockquote>в качестве файла
config.inc.php
, перезапустил сервер Apache, и он сработал. Я все еще подозревал об этом, поэтому я остановил сервер apache и mysql и начал их снова, и теперь он работает.
Еще одна идея: до тех пор, пока phpmyadmin и другие инструменты php не работают с ней, просто добавьте эту строку в ваш файл /etc/mysql/my.cnf
default_authentication_plugin = mysql_native_password
См. также: Mysql Ref
Я знаю, что это проблема безопасности, но что делать, если инструменты не работают с caching_sha2_password?
default_authentication_plugin
. И значение по умолчанию для root устанавливается равным sha2 независимо от того, во время установки.
– Alph.Dev
23 April 2018 в 15:50
Я решил эту проблему, выполнив следующие действия:
default_authentication_plugin = mysql_native_password
в раздел [mysqld] my.cnf CREATE USER
'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO
'root'@'localhost';
, а затем FLUSH PRIVILEGES;