Upgrading to new cPanel Server with mySQL on SSD -- What should I change in my.cnf?
open_files_limit=16000


It makes little sense to set this lower than table_open_cache. See the default value described in https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_open_files_limit


  table_open_cache=25000
  table_cache=60000


You probably don't need to set this so high considering you only have &lt; 900 tables open.

Note that table_cache is an obsolete synonym for table_open_cache. The last one in the my.cnf file takes priority. So you have set your table_open_cache to 60000, overwriting the earlier setting. I suggest deciding on the value you want and use one line to set it, to avoid confusion.


  table_definition_cache=2000


This is fine.


  key_buffer_size=128M


The key buffer is only for MyISAM. If you have no MyISAM tables, the default of 8M is fine. 

If you have lots of MyISAM tables, you should convert them to InnoDB. ;-)


  innodb_buffer_pool_size=2000M


Since you upgraded to 64G, this seems low. On the other hand, you have only about 2G of InnoDB data and indexes, which is not unusual for a simple Wordpress site. There's no benefit in increasing the buffer pool any higher.


  innodb_buffer_pool_instances=2


The default number of BP instances is 8 as of MySQL 5.6.6. Since you have 24 cores, you might want to split the BP at least up to 8 instances.


  join_buffer_size=4M


16x the default of 256K seems too high. Ideally, you shouldn't need to rely on the join buffer because joins should be handled by indexes.

In MySQL 5.6, the join buffer is also used for Batched Key Access optimization, but this doesn't kick in very often.


  sort_buffer_size=4M


Also 16x the default of 256K. Useful for avoiding sort merge passes when you do filesorts of large tables. Monitor SHOW GLOBAL STATUS LIKE 'Sort_merge_passes', but I bet you can decrease this.


  read_rnd_buffer_size=4M


Also 16x the default of 256K. Used for MyISAM tables, or for Multi-Range Read optimization for any storage engine. Very rare to need this.


  tmp_table_size=3048M
  max_heap_table_size=3048M


These are probably excessive. I start out small, and increase tmp_table_size if I see a steady increase in SHOW GLOBAL STATUS LIKE 'Created_tmp_disk_table'.


  thread_cache_size=256


Probably unnecessary to have a thread cache at all on your system. The default would be 33. On a modern version of Linux, creating a new thread is quick anyway, so the need for the thread cache is not as important is it is on Solaris, FreeBSD, etc.


  max_connections=250 
  table_cache=60000


Note that table_cache is an obsolete synonym for table_open_cache. The last one in the my.cnf file takes priority. So you have set your table_open_cache to 60000, overwriting the earlier setting. I suggest deciding on the value you want and use one line to set it, to avoid confusion.