HEX
Server: Apache
System: Linux server.enlacediseno.com 4.18.0-553.62.1.el8_10.x86_64 #1 SMP Wed Jul 16 04:08:25 EDT 2025 x86_64
User: maor (1069)
PHP: 7.3.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //var/lib/puppet/lib/facter/mysql.rb
Facter.add("mysql") do
	setcode do
		result = "false"

		if FileTest.exists?("/usr/bin/mysql")
			result = "true"
		else
			output = %x{/usr/bin/which mysql}.chomp
			if !output.to_s.empty?
				result = "true"
			end
		end
		result
	end
end

Facter.add("mysql_bin") do
	confine :mysql => :true
	setcode do
		result = "false"

		if FileTest.exists?("/usr/bin/mysql")
			result = "/usr/bin/mysql"
		else
			output = %x{/usr/bin/which mysql}.chomp
			if !output.to_s.empty?
				result = output
			end
		end
		result
	end
end

# This uses a relatively unreliable system for getting the config location
# but just blindly assuming /etc/my.cnf didn't seem like the right answer
Facter.add("mysql_conf") do
	confine :mysql => :true
	setcode do
		output = %x{/usr/bin/mysql --verbose --help | grep -A1 "Default options" | tail -1 | awk {'print $1'}}.chomp
		result = output
		result
	end
end

Facter.add("mysql_ver") do
	confine :mysql => :true
	setcode do
		begin
			Facter.mysql_bin
		rescue
			Facter.loadfacts()
		end
		bin = Facter.value('mysql_bin')
		output = %x{#{bin} -V}.chomp
		if output =~ /^.+Distrib\s+([\d\.]+),\s.+$/ or output =~ /^.+Distrib\s+([\d\.]+)-MariaDB,\s.+$/
                        result = $1.to_s
		end
	end
end