Я нашел другую причину, по которой это не удается ... имена таблиц с учетом регистра.
Для этого определения таблицы
CREATE TABLE user (
userId int PRIMARY KEY AUTO_INCREMENT,
username varchar(30) NOT NULL
) ENGINE=InnoDB;
Это определение таблицы работает
CREATE TABLE product (
id int PRIMARY KEY AUTO_INCREMENT,
userId int,
FOREIGN KEY fkProductUser1(userId) REFERENCES **u**ser(userId)
) ENGINE=InnoDB;
тогда как этот провал
CREATE TABLE product (
id int PRIMARY KEY AUTO_INCREMENT,
userId int,
FOREIGN KEY fkProductUser1(userId) REFERENCES User(userId)
) ENGINE=InnoDB;
Тот факт, что он работал в Windows и не работал в Unix, занял у меня пару часов, чтобы понять. Надеюсь, что это поможет кому-то еще.