Bug #73860 Unknown system variable 'symbolic_links'
Submitted: 9 Sep 2014 13:32 Modified: 11 Sep 2014 14:34
Reporter: Shahriyar Rzayev Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Options Severity:S1 (Critical)
Version:5.6.20 OS:Linux (CentOS 6.5)
Assigned to: CPU Architecture:Any

[9 Sep 2014 13:32] Shahriyar Rzayev
Description:
After installing 5.6.20 MySQL from official YUM Repo in its default created my.cnf file there is an entry:

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

But in documentation there is no such entry about this variable:

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html

Also it will raise an error when querying for this variable:

mysql> select @@symbolic_links;
ERROR 1193 (HY000): Unknown system variable 'symbolic_links'

Interesting thing that MySQL does not complain and starts as usual with this "non-existing" variable.

Very similar to:

http://bugs.mysql.com/bug.php?id=73833

How to repeat:
Just install latest 5.6.20 GA from YUM repo and open default fresh-created my.cnf file.
You will see:
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

Query for it to see the error.

Suggested fix:
Maybe some information related to this variable if it is exists.
If it is not exists do not allow start MySQL with it or smth else.
[9 Sep 2014 14:14] Peter Laursen
There is a 'have_symlink' variable described here:
http://dev.mysql.com/doc/refman/5.5/en/symbolic-links.html
(and I checked it is available in all versions from 5.0x - even on Windows)

-- Peter
-- not a MySQL/Oracle person
[9 Sep 2014 17:43] MySQL Verification Team
Replaced:
  mysql.x86_64 0:5.1.73-3.el6_5   mysql-devel.x86_64 0:5.1.73-3.el6_5   mysql-libs.x86_64 0:5.1.73-3.el6_5   mysql-server.x86_64 0:5.1.73-3.el6_5

Complete!
[root@tikal miguel]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[9 Sep 2014 18:03] MySQL Verification Team
http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_symbolic-links

"Command-Line Format	--symbolic-links
Option-File Format	symbolic-links

Enable or disable symbolic link support. This option has different effects on Windows and Unix:

    On Windows, enabling symbolic links enables you to establish a symbolic link to a database directory by creating a db_name.sym file that contains the path to the real directory. See Section 8.11.3.1.3, “Using Symbolic Links for Databases on Windows”.

    On Unix, enabling symbolic links means that you can link a MyISAM index file or data file to another directory with the INDEX DIRECTORY or DATA DIRECTORY options of the CREATE TABLE statement. If you delete or rename the table, the files that its symbolic links point to also are deleted or renamed. See Section 8.11.3.1.2, “Using Symbolic Links for MyISAM Tables on Unix”.
[10 Sep 2014 7:44] Shahriyar Rzayev
So in conclusion,
Even if we have this variable as:

Command-Line Format	--symbolic-links
Option-File Format	symbolic-links

We can not query for this variable's value?

mysql> select @@symbolic_links;
ERROR 1193 (HY000): Unknown system variable 'symbolic_links'
[11 Sep 2014 14:34] MySQL Verification Team
The error displayed is because isn't a variable instead is a server option you can see at:

http://dev.mysql.com/doc/refman/5.6/en/mysqld-option-tables.html

third column is empty, please check it,  you could find others server options with the same behavior if the third column is empty. Thanks.