在实际启动mysql之前,我使用文本文件中的sql语句列表来引导mysql,命令如下所示
/usr/sbin/mysqld --user=mysql --bootstrap --verbose=0 < $tfile && echo "Successfully run $tfile"在$tfile中更新根用户密码和创建wordpress用户的SQL语句如下
USE mysql;
FLUSH PRIVILEGES;
CREATE USER "root"@"%" IDENTIFIED BY "1234567890abcdef";
GRANT ALL PRIVILEGES ON *.* TO "root"@"%" WITH GRANT OPTION;
UPDATE user SET password=PASSWORD("1234567890abcdef") WHERE user="root";
GRANT ALL PRIVILEGES ON *.* TO "root"@"localhost" WITH GRANT OPTION;
UPDATE user SET password=PASSWORD(") WHERE user="root" AND host="localhost";
CREATE DATABASE IF NOT EXISTS `wordpress` CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER "wordpress"@"%" IDENTIFIED BY "1234567890abcdef";
GRANT ALL PRIVILEGES ON *.* TO "wordpress"@"%" WITH GRANT OPTION;然而,不管K如何调整这个问题,我还是回到了同样的错误
错误: 1064您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行错误中止处使用接近‘1234567890abc near’的正确语法
发布于 2017-03-10 07:38:53
在简单模式下,MySQL将"视为文字引号,但如果启用ANSI_QUOTES,则将其用作标识符的引号。
检查SQL_MODE,例如会话值-
SELECT @@SESSION.sql_mode;如果需要的话可以改变它。更多信息- 引号。
试着在脚本之前改变这个模式-
-- SET @@SESSION.sql_mode = 'ANSI_QUOTES';
SET @@SESSION.sql_mode = '';
USE mysql;
FLUSH PRIVILEGES;
CREATE USER "root"@"%" IDENTIFIED BY "1234567890abcdef";https://stackoverflow.com/questions/42712594
复制相似问题