Reiniciar o mysql nesse caso é uma prática ruim. Isso resulta em sobrecarregar seus buffers e se o banco de dados for grande o suficiente - levará algum tempo para aquecer.
Suponho que você tenha algumas consultas pesadas que consomem muita CPU.
Use mysql> show full processlist
para identificar consultas demoradas e tente otimizá-las: crie índices, reescreva consultas para executar mais rapidamente e faça menos classificação.
Para resultados imediatos, você pode eliminar essas consultas usando:
mysql> kill QUERYIDNUMBER
Para responder diretamente às suas perguntas, você pode reiniciá-lo com segurança com service mysql restart
, mas isso levará muito tempo. A reinicialização bloqueará todas as novas conexões com o banco de dados, mas aguardará até que todas as consultas em execução sejam concluídas. Você pode matar consultas pesadas para acelerar.
Além disso, se você precisar acelerar o reinício do mysql, há um bom truque para fazê-lo.
Primeiro, execute mysql> set global innodb_max_dirty_pages_pct = 0;
aguarde até que todas (ou quase todas) as páginas de buffer sujas sejam liberadas para o disco, consulte
mysqladmin ext -i10 | grep dirty
Quando você tem uma saída assim:
| Innodb_buffer_pool_pages_dirty | 12 |
Você pode reiniciar seu servidor mysql e será muito mais rápido:
service mysql restart