我想为我的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';'
答案 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上运行构建后,构建工作正常。希望这会有所帮助。