É um problema que o soquete mysqld tenha uma versão diferente do servidor mysqld? Percebi isso no meu log do mysqld durante a inicialização
120420 19:30:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120420 19:30:06 InnoDB: Initializing buffer pool, size = 8.0M
120420 19:30:06 InnoDB: Completed initialization of buffer pool
120420 19:30:06 InnoDB: Started; log sequence number 0 44233
120420 19:30:06 [Note] Event Scheduler: Loaded 0 events
120420 19:30:06 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.61' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
No entanto, quando mostro variáveis, recebo isso
MOSTRAR VARIÁVEIS COMO "%versão%";
+-------------------------+-------------------------------------------+
| Variable_name | Value |
+-------------------------+-------------------------------------------+
| innodb_version | 5.5.30 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 5.5.30-cll |
| version_comment | MySQL Community Server (GPL) by Atomicorp |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+-------------------------------------------+
7 rows in set (0.00 sec)
Com base nas perguntas de golimar, executei um
ps aux
e eu vejo isso
mysql 633 31.4 33.5 11942788 5452172 ? SNl 08:18 101:31 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql -- log-error=/var/lib/mysql/host.reviewcritical.com.err --open-files-limit=4096 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/ lib/mysql/mysql.sock --port=3306
raiz 32674 0,0 0,0 108292 1576 ? SN 08:18 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/ run/mysqld/mysqld.pid --basedir=/usr --user=mysql
Como todos sabemos, mysqld_safe e mysqld são muito diferentes
mysqld : O daemon da instância do servidor de banco de dados
mysqld_safe : Programa de controle que examina e define o ambiente para o mysqld executar. O executável mysqld é realmente iniciado em um loop. Quando o mysqld terminar, o programa mysqld_safe examinará os resultados retornados e decidirá se
Por que é importante ter mysqld e mysqld_safe usando a mesma versão do MySQL?
Deixe-me ilustrar desta forma: Percona Server às vezes tem recursos adicionais em mysqld_safe para manipular o sistema operacional. Por exemplo, eu vi
numactl --interleave=all
em um Percona Server mysqld_safe. Se essa linha não estiver lá, o mysqld for Percona Server pode ter problemas com memória e troca.O mesmo cenário poderia ser o caso do Oracle (ugh, ainda odeio dizer isso) mysqld e mysqld_safe. Pode haver melhorias de uma versão principal para outra que seriam removidas se o mysqld_safe fosse mais antigo.
Em vez de explorar as possibilidades de usar um mysqld_safe antigo e um novo mysqld (ou vice-versa), simplifique sua vida e reinstale o MySQL 5.5.30 do zero.
Antes de fazer isso, por favor, execute
no Linux e veja se há dois remanescentes. Se houver, endireite os caminhos. Caso contrário, você pode ter que reinstalar o MySQL 5.5.30.