Certifique-se de ter instalado o MySQL como root sudo apt-get install mysql-server
. Isso geralmente deve funcionar.
Para continuar do que você tem aqui. Você pode criar os diretórios que estão faltando, mas certifique-se de que eles sejam de propriedade de user \ group mysql: chown -R mysql:mysql /var/lib/mysql
Se você quiser alterar o diretório de dados do MySQL, faça-o no arquivo de configuração do MySQL /etc/mysql/my.cnf
Então você pode escolher entre configurar apparmor para permitir que o MySQL leia \ execute \ modificar o novo diretório de dados e subdiretórios ou, por sua conta e risco, você pode remover apparmor . Talvez seja necessário que você use root
para fazer o seguinte:
/etc/init.d/apparmor stop
/etc/init.d/apparmor teardown
update-rc.d -f apparmor remove
apt-get purge apparmor
reboot
Então você pode executar mysql_install_db
.
Mas você não terá usuários no banco de dados! Para resolver isso:
mysqld --skip-grant-tables --skip-networking & #Start MySQL manually with no authentication checks
mysql # Access MySQL, no username\password needed
use mysql;
DELETE FROM user;
INSERT INTO 'user' ('Host', 'User', 'Password', 'Select_priv', 'Insert_priv', 'Update_priv', 'Delete_priv', 'Create_priv', 'Drop_priv', 'Reload_priv', 'Shutdown_priv', 'Process_priv', 'File_priv', 'Grant_priv', 'References_priv', 'Index_priv', 'Alter_priv', 'Show_db_priv', 'Super_priv', 'Create_tmp_table_priv', 'Lock_tables_priv', 'Execute_priv', 'Repl_slave_priv', 'Repl_client_priv', 'Create_view_priv', 'Show_view_priv', 'Create_routine_priv', 'Alter_routine_priv', 'Create_user_priv', 'ssl_type', 'ssl_cipher', 'x509_issuer', 'x509_subject', 'max_questions', 'max_updates', 'max_connections', 'max_user_connections') VALUES('localhost','root',PASSWORD('root'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0'); #Add root user with passowrd, root
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
exit;
killall mysqld;
start mysql
mysql -u root -p
# Enter password, which is: root