mirror of
https://github.com/MariaDB/server.git
synced 2026-04-26 10:15:29 +02:00
BUG#37858: loaddata,rpl_slave_skip,rpl_innodb_mixed_dml fail if datafile not world-readable
Problem 1: main.loaddata tried to trigger an error caused by reading files outside the vardir, by reading itself. However, if loaddata.test is not world-readable (e.g., umask=0077), then another error is triggered. Fix 1: allow the other error too. Problem 2: rpl_slave_skip and rpl_innodb_mixed_dml tried to copy a file from mysql-test/suite/rpl/data to mysql-test/var and then read it. That failed too if umask=0077, since the file would not become world-readable. Fix 2: move the files from mysql-test/suite/rpl/data to mysql-test/std_data and update tests accordingly. Remove the directory mysql-test/suite/rpl/data. mysql-test/r/loaddata.result: Updated result file. mysql-test/std_data/rpl_bug28618.dat: Moved this file to std_data. mysql-test/std_data/rpl_mixed.dat: Moved this file to std_data. mysql-test/suite/rpl/data: Removed directory that is now unused. mysql-test/suite/rpl/include/rpl_mixed_dml.inc: The rpl_mixed.dat file has been moved. Updated the test to use the new location. mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: Updated result file. mysql-test/suite/rpl/r/rpl_slave_skip.result: Updated result file. mysql-test/suite/rpl/t/rpl_slave_skip.test: The rpl_bug28618.dat file has been moved. Updated the test to use the new location. mysql-test/t/loaddata.test: Allow more error messages. ER_TEXTFILE_NOT_READABLE may happen if the file is not world-readable (which may happen, e.g., if the user has umask=0077).
This commit is contained in:
parent
43e396c8d5
commit
fb17cbe42e
8 changed files with 10 additions and 11 deletions
|
|
@ -212,7 +212,7 @@ set @@secure_file_priv= 0;
|
|||
ERROR HY000: Variable 'secure_file_priv' is a read only variable
|
||||
truncate table t1;
|
||||
load data infile 'MYSQL_TEST_DIR/t/loaddata.test' into table t1;
|
||||
ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
|
||||
Got one of the listed errors
|
||||
select * from t1;
|
||||
a b c
|
||||
select load_file("MYSQL_TEST_DIR/t/loaddata.test");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue