MySQL unique static ID I need to get an unique static ID that is not changeable by the users, and if the user copies the database to another server this static ID is different.
Background
My company wants to sell our app and allow for the end user to control the administration of the database.  At the same time we do not want someone to pay for one license and then install the app on 100 different database (as an extreme example).
I thought server_id was is needed. Then, I found out that it can be configured by the end user. Therefore, this is no good.
thanks for the help!
Perhaps you can try server_uuid

Other have addressed using it


Beware of MySQL 5.6 server UUID when cloning slaves
Resolving Error: master and slave have equal MySQL server UUIDs


Some may resort to copying the auto.cnf to another server, which would then have the same generated server_uuid. You would have to code something that would scan a network on port 3306, sniff out the auto.cnf file, and check the UUID inside the file.

You could probably make the following requirements and coalesce them


Require the presence of the auto.cnf
Use Unique Identifier from Linux and imbed it yourself into auto.cnf as server_uuid
Match the UUID in auto.cnf with the machine as well as mysqld
Somehow broadcast that UUID so that your app can detect the presence of more than one occurrence of that UUID in the network


Doing these things may require taking the UUID your app generated and writing that UUID back into the installation software. That way, subsequent installations could compare the UUID of the machine with the now updated UUID from the first installation. Any match would have to deny installation thereafter.