Senha por omissão do mysql no servidor ubuntu 16. 04
instalei o servidor ubuntu 16.04. O servidor de Mysql foi instalado por padrão nele. Quando estou tentando acessar o mysql com {[[0]}, não posso entrar no mysql porque não tenho a senha. Existe alguma senha padrão?
eu também tentei com --skip-grant-tables
, mesmo isto não funciona. Mesmo tentar entrar com apenas mysql -u root
é um fracasso.
6 answers
sudo mysql --defaults-file=/etc/mysql/debian.cnf
MySql no Debian-base Linux normalmente usa um arquivo de configuração com as credenciais.
O Mysql por omissão tem o 'plugin' de autenticação do utilizador root 'como ' auth_socket', o que requer que o nome de utilizador do sistema e o nome de utilizador db sejam os mesmos.
Especificamente, faça login como root ou "sudo-i" e digite apenas "mysql" e você será logado como MySQL root, você pode então criar outros usuários operacionais.
Se você não tem uma raiz na máquina, eu acho que você não deve ser autorizado a entrar no mysql como root?
Você pode simplesmente repor a senha de root, executando o servidor com as tabelas -- skip-grant e registando-se sem uma senha, executando o seguinte como root ou com o sudo:
service mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
Acho que outro lugar para procurar é /var/lib
.
Se for lá, poderá ver três pastas mysql com permissões 'interessantes':
user group
mysql mysql
Eis o que fiz para resolver o meu problema com a senha de root:
Depois de correr
sudo apt-get purge mysql*
sudo rm -rf /etc/mysql
Eu também corri o seguinte (em vez de meu nome colocar o seu):
cd /var/lib
sudo chown --from=mysql <my_username> mysql* -R
sudo rm -rf mysql*
E depois:
sudo apt-get install mysql-server
O que me levou a Seleccionar uma nova senha de root. Espero que ajude.
- primeiro deves parar o mysql
- use este comando
sudo mysqld_safe --skip-grant-tables --skip-networking &
- e depois introduzir
mysql -u root
tente assim, eu fui resolvido meu problema com este método.
Basta correr sudo dpkg-reconfigure mysql-server-5.7
Poderá encontrar a versão que instalou se estiver em execução dpkg --get-selections | grep mysql-server