travis mysql数据库创建用户错误

时间:2016-08-15 13:10:13

标签: mysql continuous-integration travis-ci

我想为我的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 个答案:

答案 0 :(得分:10)

它是查询周围的引号。使用双引号(")而不是单引号(')更新您的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上运行构建后,构建工作正常。希望这会有所帮助。