/usr/lib/mysql-testsuite/t/server_uuid.test is in percona-server-test-5.6 5.6.22-rel71.0-0ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ##############################################################################
# WL#4677 Unique Server Ids for Replication Topology (UUIDs) #
#
# Each server has a UUID generated by server itself. It is stored in auto.cnf
# in @@DATADIR directory.
#
# @@SERVER_UUID is a readonly system variable, it is initialized as the
# server's UUID when starting. Users can get the server's UUID from
# @@SERVER_UUID.
#
# This test case tests whether the server's UUID can be generated, stored,
# initialized correctly.
##############################################################################
source include/not_embedded.inc;
CALL mtr.add_suppression("Master's UUID has changed, its old UUID is");
--let $uuid_file= auto.cnf
--let $original_server_uuid= query_get_value(SELECT @@SERVER_UUID, @@SERVER_UUID, 1)
--let $datadir= query_get_value(SELECT @@DATADIR, @@DATADIR, 1)
--copy_file $datadir/$uuid_file $datadir/original_$uuid_file
--echo
--echo # Case 1:
--echo # @@SERVER_UUID is readonly.
--echo -----------------------------------------------------------------------------
--error 1238
SET GLOBAL SERVER_UUID= UUID();
--echo
--echo # Case 2:
--echo # If the file does not exists, mysqld generates it automatically.
--echo -----------------------------------------------------------------------------
--remove_file $datadir/$uuid_file
--source include/restart_mysqld.inc
--let $server_uuid= query_get_value(SELECT @@SERVER_UUID, @@SERVER_UUID, 1)
if (`SELECT '$server_uuid' = '' OR '$server_uuid' = 'NULL'`)
{
--die server's UUID is null
}
--echo
--echo # Case 3:
--echo # If there is no UUID in the file, mysqld generates it automatically.
--echo -----------------------------------------------------------------------------
--remove_file $datadir/$uuid_file
# There is a blank line in the file
--write_file $datadir/$uuid_file
[auto]
EOF
--source include/restart_mysqld.inc
--let $server_uuid= query_get_value(SELECT @@SERVER_UUID, @@SERVER_UUID, 1)
if (`SELECT '$server_uuid' = '' OR '$server_uuid' = 'NULL'`)
{
--die server's UUID is null
}
--echo
--echo # Case 4:
--echo # If there is a UUID in the file, it will be loaded into SERVER_UUID.
--echo -----------------------------------------------------------------------------
--remove_file $datadir/$uuid_file
--move_file $datadir/original_$uuid_file $datadir/$uuid_file
--source include/restart_mysqld.inc
--let $server_uuid= query_get_value(SELECT @@SERVER_UUID, @@SERVER_UUID, 1)
if ($server_uuid != $original_server_uuid)
{
--echo $server_uuid != $original_server_uuid
--die wrong server_uuid
}
|