2016-04-07 57 views
0

尝试以特拉维斯-CI构建特拉维斯设置的lower_case_table_names CI

addons: 
    mariadb: '10.1' 

我已经试过

- sudo sed -i '/\[mysqld\]/a lower_case_table_names = 2 ' /etc/mysql/my.cnf 
    - sudo service mysql restart 

- echo "[mysqld]" > .my.cnf 
    - echo "lower_case_table_names = 2" >> .my.cnf 

如果设置在MariaDB的小写表名我运行:

- mysql --verbose -e "show variables like 'lower%';" --user=root 

-------------- 
show variables like 'lower%' 
-------------- 
+------------------------+-------+ 
| Variable_name   | Value | 
+------------------------+-------+ 
| lower_case_file_system | OFF | 
| lower_case_table_names | 0  | 
+------------------------+-------+ 

而这些文件无(在开始之前修改即可运行)必须在文件的lower_case_table_names(除非我添加它)

# - strace mysql 2>&1 | grep cnf 
#stat("/etc/my.cnf", 0x7ffef7c8dca0)  = -1 ENOENT (No such file or directory) 
#stat("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=5232, ...}) = 0 
#open("/etc/mysql/my.cnf", O_RDONLY|O_CLOEXEC) = 3 
#stat("/etc/mysql/conf.d/mariadb.cnf", {st_mode=S_IFREG|0644, st_size=435, ...}) = 0 
#open("/etc/mysql/conf.d/mariadb.cnf", O_RDONLY|O_CLOEXEC) = 4 
#stat("/etc/mysql/conf.d/mysqld_safe_syslog.cnf", {st_mode=S_IFREG|0644, st_size=36, ...}) = 0 
#open("/etc/mysql/conf.d/mysqld_safe_syslog.cnf", O_RDONLY|O_CLOEXEC) = 4 
#stat("/etc/mysql/conf.d/tokudb.cnf", {st_mode=S_IFREG|0644, st_size=285, ...}) = 0 
#open("/etc/mysql/conf.d/tokudb.cnf", O_RDONLY|O_CLOEXEC) = 4 
#stat("/home/travis/.my.cnf", 0x7ffef7c8dca0) = -1 ENOENT (No such file or directory) 

回答

0

似乎是一个错误DOCO某处。 这个作品:

- echo "[mysqld]" > $HOME/.my.cnf 
- echo "lower-case-table-names = 1" >> $HOME/.my.cnf 

-------------- 
show variables like 'lower%' 
-------------- 
+------------------------+-------+ 
| Variable_name   | Value | 
+------------------------+-------+ 
| lower_case_file_system | OFF | 
| lower_case_table_names | 1  | 
+------------------------+-------+