mysql - associado a my.cnf [duplicado]

1

Eu quero alterar o valor de max_allowed_packet, mas ao definir permissões para my.cnf para 777, recebo (como esperado):

Aviso: o arquivo de configuração gravável do mundo '/etc/my.cnf' é ignorado

Se eu configurá-lo para qualquer coisa menos que isso (600, 644, 700, 775, todos tentaram ...), o serviço mysqld falha ao iniciar.

O log de erros quando o serviço falha ao reiniciar é:

110814 14:30:28 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 958 Warning: World-writable config file '/etc/my.cnf' is ignored 959 110814 14:30:28 [Note] Plugin 'ndbcluster' is disabled. 960 /usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist 961 110814 14:30:28 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 962 110814 14:30:28 InnoDB: Initializing buffer pool, size = 8.0M 963 110814 14:30:28 InnoDB: Completed initialization of buffer pool
964 110814 14:30:28 InnoDB: Started; log sequence number 0 47678
965 110814 14:30:28 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist 966 110814 14:30:28 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. Created with MySQL 50086, now running 50158. Please use mysql_upgrade to fix this error. 967 110814 14:30:28 [ERROR] mysql.user has no Event_priv column at position 29 968 110814 14:30:28 [ERROR] Cannot open mysql.event 969 110814 14:30:28 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 970 110814 14:30:28 [Note] /usr/libexec/mysqld: ready for connections. 971 Version: '5.1.58' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution 972 110814 14:33:46 [Note] /usr/libexec/mysqld: Normal shutdown 973
974 110814 14:33:46 InnoDB: Starting shutdown... 975 110814 14:33:48 InnoDB: Shutdown completed; log sequence number 0 47678
976 110814 14:33:48 [Note] /usr/libexec/mysqld: Shutdown complete
977 978 110814 14:33:48 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Sendo um novato no Linux, eu não entendo muito desse log de erros, mas pode fazer sentido para alguns de vocês.

Eu acredito que isso tem a ver com as permissões definidas para alguns arquivos, pois eu encontrei muitos arquivos sendo definidos para o 777. Eu não sei muito, mas sei que é ruim. :) A coisa é, no entanto, não sei onde começar a procurar e corrigir.

O sistema em que tudo isso é feito é o CentOS 5.5.

EDIT: Isso finalmente foi resolvido. Foi conseguido alterando o endereço de ligação dentro de my.cnf do IP atual para 127.0.0.1. Obrigado a todos pela vossa ajuda. Além disso, há uma cópia desta questão, porque eu não sabia que poderia ser movido de um fórum para outro. Sinta-se à vontade para excluir este, ou o outro (tem exatamente o mesmo título).

    
por Menelaos 14.08.2011 / 22:57

1 resposta

3

Nunca chmod quaisquer arquivos para 777. Isso significa que todos podem gravar em seu arquivo.

my.cnf deve ter permissão 644 e pertence a root. Sobre o erro "Tabela 'mysql.plugin' não existe" , como foi dito, você deve criar um arquivo ~/.my.cnf em $ HOME como abaixo:

[mysql_upgrade]
user     = user
password = password
socket   = /path/to/mysql.sock

e execute o mysql_upgrade para corrigir isso.

    
por 29.08.2011 / 09:53