Travis MySQL 数据库创建用户错误

7

我想为我的Spring Boot项目设置travis,我使用用户makler/makler来访问数据库。运行travis时,我收到一个错误消息:

$ mysql -u root -e 'CREATE DATABASE stockmarket;'

$ mysql -u root -e 'CREATE USER 'makler'@'localhost' IDENTIFIED BY 'makler';'
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'makler' at line 1


The command "mysql -u root -e 'CREATE USER 'makler'@'localhost' IDENTIFIED BY 'makler';'" failed and exited with 1 during .

Your build has been stopped.

我的travis.yml文件如下:

language: java
jdk:
  - oraclejdk8
services:
  - mysql
dist: trusty
sudo: required
addons:
  apt:
    packages:
    - mysql-server-5.6
    - mysql-client-core-5.6
    - mysql-client-5.6
before_script:
  - mysql -u root -e 'CREATE DATABASE stockmarket;'
  - mysql -u root -e 'CREATE USER 'makler'@'localhost' IDENTIFIED BY 'makler';'
  - mysql -u root -e 'GRANT ALL ON stockmarket.* TO 'makler'@'localhost';'
1个回答

12

问题出在查询语句周围的引号。更新您的 before_script,使用双引号 (") 而非单引号(') 包围查询语句

before_script:
- mysql -u root -e 'CREATE DATABASE stockmarket;'
- mysql -u root -e "CREATE USER 'makler'@'localhost' IDENTIFIED BY 'makler';"
- mysql -u root -e "GRANT ALL ON stockmarket.* TO 'makler'@'localhost';"

在我修改后并在travis上运行构建之后,构建正常工作。希望这可以帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接