I must determine if it is possible using MySQL Binary Log to record Uid's (usernames) from the customers who make changes towards the DB.
This really is essential for the audit purpose.
Is the fact that possible?
That isn't exactly what the binary log is perfect for - the binary log keeps an eye on all changes designed to a database, usually for that reasons of replication and recovery.
A potential alternative may be the general query log, In my opinion which includes the username in some manner.
This really is all presuming you are speaking about actual connection usernames, not some arbitrary "user" inside your application.
Here's a good example I simply drawn in one of my logs:
111130 13:46:50 130 Connect myusername@localhost on 130 Init DB mydatabase 130 Query SELECT somefields FROM sometable 130 Query SELECT somefields FROM sometable 130 Quit
As you can tell, you receive the bond username, after which anything with this connection ID (within this situation 130) is as simple as that user on that connection.
Binary logs used mostly for replication reasons and they don't let it store any side information except data changes.
If you wish to store viewable logs (because binary logs was created for the reason that way that it may used only mysql) you will have to have additional table to keep: data from primary table + user + time.
You also may have a look on Query Log