I'm developing a database where one area must auto-increment from 1. The area could be for ghd serial numbers. Must I make use of the "Serial' data type i.e I'm using bigint(20) unsigned?

Well, it is dependent, but most likely not. Most companies want some accounting from the ghd serial numbers they have used. That always means they need an auditable sequence which has no gaps. The automated sequences produced by database management systems aren't certain to don't have any gaps.

The canonical way additional is to produce a table of ghd serial numbers (or, with respect to the application, a table of only the consecutive a part of a far more complex serial number). The applying "takes" the following available serial number from that table, and updates that table with a few relevant, auditable data. Something similar to username and timestamp are typical, however it is dependent around the application.

You have to be careful with production lines that eat 1000's of ghd serial numbers per second. Much activity could make contention for that serial number table an issue.