As per MySQL doc (PS and PXC inherit upstream semantics)
[url]MySQL :: MySQL 5.7 Reference Manual :: 5.1.7 Server System Variables
[LIST]
[*]On thread startup, the session wait_timeout value is initialized from the global wait_timeout value or from the globalinteractive_timeout value, depending on the type of client (as defined by the CLIENT_INTERACTIVE connect option to mysql_real_connect()). See also interactive_timeout.
[/LIST] this means wait_timeout value is defined by global wait_timeout or interactive_timout value.
I tried setting checking for client terminal (mysql) and given that it is an interactive terminal, session inherited interactive_timeout
[setting in my.cnf]
wait_timeout=86400
interactive_timeout=1000000
mysql> select @@global.interactive_timeout;
±-----------------------------+
| @@global.interactive_timeout |
±-----------------------------+
| 1000000 |
±-----------------------------+
1 row in set (0.00 sec)
mysql> select @@session.interactive_timeout;
±------------------------------+
| @@session.interactive_timeout |
±------------------------------+
| 1000000 |
±------------------------------+
1 row in set (0.00 sec)
mysql> select @@global.wait_timeout;
±----------------------+
| @@global.wait_timeout |
±----------------------+
| 86400 |
±----------------------+
1 row in set (0.00 sec)
mysql> select @@session.wait_timeout;
±-----------------------+
| @@session.wait_timeout |
±-----------------------+
| 1000000 |
±-----------------------+
1 row in set (0.00 sec)
Hope this help clarify the confusion.