Are multiple Primary Keys in MySQL allowed?
Only one primary key per table is permitted. But a primary key can consist of any number of columns. Having many columns in a primary key however is often (not always) a bad choice.

Some notes about this...


InnoDB tables are organized by primary key.
As a consequence, all secondary indexes contain the primary key. Having a big primary key means having big indexes.
Another consequence is that rows should be inserted in the order of the primary key (this happens automatically if you use an autoincrmeental id). Otherwise, InnoDB will have to do additional work to maintain the physical order of rows.
Yet another consequence is that updating the primary key values is a slow operation that shouldn't happen normally.
Lastly, if you don't keep in mind that the primary key is contained by all secondary indexes, with InnoDB it is easy to create indexes with duplicated columns.
A query can use a whole index or a contiguous leftmost part. In your case, for example, a query that does not mention id cannot possibly take advantage of the primary key.