config root man

Current Path : /home/usr.opt/mysql57/mysql-test/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/t/mysqlcheck.test

# Embedded server doesn't support external clients
--source include/not_embedded.inc

--source include/have_innodb.inc

#
# Clean up after previous tests
#

--disable_warnings
DROP TABLE IF EXISTS t1, `t``1`, `t 1`;
drop view if exists v1;
drop database if exists client_test_db;
# Repair any tables in mysql, sometimes the slow_log is marked as crashed
# after server has been killed
--exec $MYSQL_CHECK --repair  --databases mysql > /dev/null 2>&1
--enable_warnings

#
# Bug #13783  mysqlcheck tries to optimize and analyze information_schema
#
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --all-databases --analyze
--exec $MYSQL_CHECK --all-databases --optimize
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --analyze --databases test information_schema mysql
--exec $MYSQL_CHECK --optimize  --databases test information_schema mysql
--exec $MYSQL_CHECK --analyze information_schema schemata
--exec $MYSQL_CHECK --optimize information_schema schemata

#
# Bug #16502: mysqlcheck tries to check views
#
create table t1 (a int) engine=myisam;
create view v1 as select * from t1;
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --analyze --databases test
--exec $MYSQL_CHECK --optimize --databases test
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --all-in-1 --analyze --databases test
--exec $MYSQL_CHECK --all-in-1 --optimize --databases test
drop view v1;
drop table t1;

#
# Bug #30654: mysqlcheck fails during upgrade of tables whose names include backticks
#
create table `t``1`(a int) engine=myisam;
create table `t 1`(a int) engine=myisam;
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --databases test
drop table `t``1`, `t 1`;

#
# Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed
#
create database d_bug25347;
use d_bug25347;
create table t_bug25347 (a int) engine=myisam;
create view v_bug25347 as select * from t_bug25347;
insert into t_bug25347 values (1),(2),(3);
flush tables;
let $MYSQLD_DATADIR= `select @@datadir`;
--echo removing and creating
--remove_file $MYSQLD_DATADIR/d_bug25347/t_bug25347.MYI
--write_file $MYSQLD_DATADIR/d_bug25347/t_bug25347.MYI
EOF
--exec $MYSQL_CHECK --repair --databases d_bug25347
--error 130
insert into t_bug25347 values (4),(5),(6);
--exec $MYSQL_CHECK --repair --use-frm --databases d_bug25347
insert into t_bug25347 values (7),(8),(9);
select * from t_bug25347;
select * from v_bug25347;
drop view v_bug25347;
drop table t_bug25347;
drop database d_bug25347;
use test;

#
# Bug#39541 CHECK TABLE on information_schema myisam tables produces error
#
create view v1 as select * from information_schema.routines;
check table v1, information_schema.routines;
drop view v1;

#
# Bug#37527: mysqlcheck fails to report entire database 
# when frm file corruption
#
CREATE TABLE t1(a INT) engine=myisam;
CREATE TABLE t2(a INT) engine=myisam;
# backup then null t1.frm
--copy_file $MYSQLD_DATADIR/test/t1.frm $MYSQLD_DATADIR/test/t1.frm.bak
--remove_file $MYSQLD_DATADIR/test/t1.frm
--write_file $MYSQLD_DATADIR/test/t1.frm
EOF
--exec $MYSQL_CHECK test
# restore t1.frm
--remove_file $MYSQLD_DATADIR/test/t1.frm
--copy_file $MYSQLD_DATADIR/test/t1.frm.bak $MYSQLD_DATADIR/test/t1.frm
--remove_file $MYSQLD_DATADIR/test/t1.frm.bak
DROP TABLE t1, t2;


--echo End of 5.0 tests


#
# Bug #30679: 5.1 name encoding not performed for views during upgrade
#
create table t1(a int) engine=myisam;
create view v1 as select * from t1;
show tables;
let $MYSQLD_DATADIR= `select @@datadir`;
--copy_file $MYSQLD_DATADIR/test/v1.frm $MYSQLD_DATADIR/test/v-1.frm
show tables;
--exec $MYSQL_CHECK --check-upgrade --databases test
--exec $MYSQL_CHECK --fix-table-names --databases test 2>&1
show tables;
drop view v1, `v-1`;
drop table t1;


#
# Bug #33094: Error in upgrading from 5.0 to 5.1 when table contains triggers
# Bug #41385: Crash when attempting to repair a #mysql50# upgraded table with
#             triggers
#
SET NAMES utf8;
CREATE TABLE `#mysql50#@` (a INT) engine=myisam;
SHOW TABLES;
SET NAMES DEFAULT;
--echo mysqlcheck --fix-table-names --databases test
--exec $MYSQL_CHECK --fix-table-names --databases test 2>&1
SET NAMES utf8;
SHOW TABLES;
DROP TABLE `@`;

CREATE TABLE `я` (a INT) engine=myisam;
SET NAMES DEFAULT;
--echo mysqlcheck --default-character-set="latin1" --databases test
# Error returned depends on platform, replace it with "Table doesn't exist"
call mtr.add_suppression("Can't find file: '..test.@003f.frm'");
--replace_result "Can't find file: './test/@003f.frm' (errno: 22 - Invalid argument)" "Table doesn't exist" "Table 'test.?' doesn't exist" "Table doesn't exist"
--exec $MYSQL_CHECK --default-character-set="latin1" --databases test
--echo mysqlcheck --default-character-set="utf8" --databases test
--exec $MYSQL_CHECK --default-character-set="utf8" --databases test
SET NAMES utf8;
DROP TABLE `я`;
SET NAMES DEFAULT;

CREATE DATABASE `#mysql50#a@b`;
USE `#mysql50#a@b`;
CREATE TABLE `#mysql50#c@d` (a INT) engine=myisam;
CREATE TABLE t1 (a INT) engine=myisam;

# Create 5.0 like triggers
let $MYSQLTEST_VARDIR= `select @@datadir`;
--write_file $MYSQLTEST_VARDIR/a@b/c@d.TRG
TYPE=TRIGGERS
triggers='CREATE DEFINER=`root`@`localhost` TRIGGER tr1 BEFORE INSERT ON `c@d` FOR EACH ROW SET NEW.a = 10 * NEW.a'
sql_modes=0
definers='root@localhost'
EOF
--write_file $MYSQLTEST_VARDIR/a@b/tr1.TRN
TYPE=TRIGGERNAME
trigger_table=c@d
EOF
--write_file $MYSQLTEST_VARDIR/a@b/t1.TRG
TYPE=TRIGGERS
triggers='CREATE DEFINER=`root`@`localhost` TRIGGER tr2 BEFORE INSERT ON `a@b`.t1 FOR EACH ROW SET NEW.a = 100 * NEW.a'
sql_modes=0
definers='root@localhost'
EOF
--write_file $MYSQLTEST_VARDIR/a@b/tr2.TRN
TYPE=TRIGGERNAME
trigger_table=t1
EOF

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
  WHERE TRIGGER_SCHEMA="#mysql50#a@b" ORDER BY trigger_name;

--echo mysqlcheck --fix-db-names --fix-table-names --all-databases
--exec $MYSQL_CHECK --default-character-set=utf8 --fix-db-names --fix-table-names --all-databases 2>&1

USE `a@b`;
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
  WHERE TRIGGER_SCHEMA="a@b" ORDER BY trigger_name;

INSERT INTO `c@d` VALUES (2), (1);
SELECT * FROM `c@d`;
INSERT INTO t1 VALUES (3), (5);
SELECT * FROM t1;

DROP DATABASE `a@b`;

USE test;

--echo #
--echo # Bug #31821: --all-in-1 and --fix-table-names don't work together
--echo #

--disable_warnings
drop table if exists `#mysql50#t1-1`;
--enable_warnings

create table `#mysql50#t1-1` (a int) engine=myisam;
--exec $MYSQL_CHECK --all-in-1 --fix-table-names --databases test 2>&1
show tables like 't1-1';
drop table `t1-1`;

create table `#mysql50#t1-1` (a int) engine=myisam;
--exec $MYSQL_CHECK --all-in-1 --fix-table-names test "#mysql50#t1-1" 2>&1
show tables like 't1-1';
drop table `t1-1`;

#
# WL#3126 TCP address binding for mysql client library;
# - running mysqlcheck --protcol=tcp --bind-address=127.0.0.1
#
--exec $MYSQL_CHECK --protocol=tcp --bind-address=127.0.0.1 --databases test

--echo End of 5.1 tests

--echo #
--echo # Bug #35269: mysqlcheck behaves different depending on order of parameters
--echo #

--replace_regex /.*mysqlcheck(\.exe)*/mysqlcheck/
--error 13
--exec $MYSQL_CHECK -a --fix-table-names test "#mysql50#t1-1" 2>&1
--error 1
--exec $MYSQL_CHECK -aoc test "#mysql50#t1-1"


--echo #
--echo # Bug#11755431 47205: MAP 'REPAIR TABLE' TO RECREATE +ANALYZE FOR
--echo #              ENGINES NOT SUPPORTING NATIVE
--echo #

--disable_warnings
DROP TABLE IF EXISTS bug47205;
--enable_warnings

--echo #
--echo # Test 1: Check that ALTER TABLE ... rebuilds the table

CREATE TABLE bug47205(a VARCHAR(20) PRIMARY KEY)
  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci engine=innodb;

INSERT INTO bug47205 VALUES ("foobar");
FLUSH TABLE bug47205;

--echo # Replace the FRM with a 5.0 FRM that will require upgrade
let $MYSQLD_DATADIR= `select @@datadir`;
--remove_file $MYSQLD_DATADIR/test/bug47205.frm
--copy_file std_data/bug47205.frm $MYSQLD_DATADIR/test/bug47205.frm

--echo # Should indicate that ALTER TABLE ... FORCE is needed
CHECK TABLE bug47205 FOR UPGRADE;

--echo # ALTER TABLE ... FORCE should rebuild the table
ALTER TABLE bug47205 FORCE;

--echo # Table should now be ok
CHECK TABLE bug47205 FOR UPGRADE;

DROP TABLE bug47205;

--echo #
--echo # Test 2: InnoDB - REPAIR not supported

CREATE TABLE bug47205(a VARCHAR(20) PRIMARY KEY)
  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci engine=innodb;

FLUSH TABLE bug47205;

--echo # Replace the FRM with a 5.0 FRM that will require upgrade
let $MYSQLD_DATADIR= `select @@datadir`;
--remove_file $MYSQLD_DATADIR/test/bug47205.frm
--copy_file std_data/bug47205.frm $MYSQLD_DATADIR/test/bug47205.frm

--echo # Should indicate that ALTER TABLE .. FORCE is needed
CHECK TABLE bug47205 FOR UPGRADE;

--echo # Running mysqlcheck to check and upgrade
--exec $MYSQL_CHECK --check-upgrade --auto-repair test

--echo # Table should now be ok
CHECK TABLE bug47205 FOR UPGRADE;

DROP TABLE bug47205;

--echo #
--echo # Test 3: MyISAM - REPAIR supported

--echo # Use an old FRM that will require upgrade
--copy_file std_data/bug36055.frm $MYSQLD_DATADIR/test/bug47205.frm
--copy_file std_data/bug36055.MYD $MYSQLD_DATADIR/test/bug47205.MYD
--copy_file std_data/bug36055.MYI $MYSQLD_DATADIR/test/bug47205.MYI

--echo # Should indicate that REPAIR TABLE is needed
CHECK TABLE bug47205 FOR UPGRADE;

--echo # Running mysqlcheck to check and upgrade
--exec $MYSQL_CHECK --check-upgrade --auto-repair test

--echo # Table should now be ok
CHECK TABLE bug47205 FOR UPGRADE;

DROP TABLE bug47205;


--echo #
--echo # Bug#12688860 : SECURITY RECOMMENDATION: PASSWORDS ON CLI
--echo #

--disable_warnings
DROP DATABASE IF EXISTS b12688860_db;
--enable_warnings

CREATE DATABASE b12688860_db;
--exec $MYSQL_CHECK -uroot --password="" --fix-db-names b12688860_db 2>&1
DROP DATABASE b12688860_db;

--echo #
--echo # WL#2284: Increase the length of a user name
--echo #

CREATE USER 'user_with_length_32_abcdefghijkl'@'localhost';
GRANT ALL ON *.* TO 'user_with_length_32_abcdefghijkl'@'localhost';

--exec $MYSQL_CHECK --host=127.0.0.1 -P $MASTER_MYPORT --user=user_with_length_32_abcdefghijkl --protocol=TCP mysql user

DROP USER 'user_with_length_32_abcdefghijkl'@'localhost';


--echo #
--echo # Bug#20868496: MYSQL_UPGRADE IN 5.7.7+ REPAIR LOOKS USER TABLES
--echo #               IN TEST WHEN LOAD FROM 50/51/55
--echo #
CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE TABLE db1.t1 (a INT) ENGINE=MYISAM;
--remove_file $MYSQLD_DATADIR/db1/t1.MYI
--write_file $MYSQLD_DATADIR/db1/t1.MYI
EOF
CREATE TABLE db2.t2 (a INT);
--exec $MYSQL_CHECK --auto-repair --databases db1 db2 2>&1
DROP DATABASE db1;
DROP DATABASE db2;


--echo
--echo End of tests

Man Man