mysql 100% usage on all cpu
Use mysqltuner for some quick suggestions. At a glance it's easy to tell that you will be alerted for  high memory allocation!! Your innodb-buffer-pool is much higher WRT available memory.

About high CPUs, what does your processlist or slow query log tells you? Sort or long running queries, using tmp tables? Queries not using indexes? Make sure you have well indexed tables for respective queries.

Use explain to review and optimize your queries.