VARCHAR primary key - MySQL
VARCHAR column as Primary Key is not a good choice as normally we create Cluster Index on same column. 

Cluster Index on VARCHAR columns is a bad choice because of expected high fragmentation rate. Every new inserted key value will try to find its place somewhere between existing keys and normally cause page split and high index fragmentation. As a result poor performance and extra index rebuild/reorganise cost.

Secondly while using varchar key column as Foreign Key will take extra space as compared to Pseudo key auto-incremented column.

BUT

Clustered index on  auto-incremented column may create "hot spot". Read this carefully Is &#39;Avoid creating a clustered index based on an incrementing key&#39; a myth from SQL Server 2000 days?

Though hot spot could be a problem, when to many users are trying to insert values but still in your case i would like to go for auto-incremented column as compare to varchar.