Eu tenho um arquivo .my.cnf em meu diretório inicial em minha área de trabalho que inclui:
[dbid]
user = myusername
password = mypassword
database = dbname
host = server.location.com
Se bem me lembro, antes de atualizar do Ubuntu 10.04 para 11.04, consegui usar o comando
mysql dbid
Para se conectar diretamente ao banco de dados
Mas hoje recebo este erro:
ERROR 1049 (42000): Unknown database 'dbname'
Fiz algo errado?
Não tenho certeza de como seu .my.cnf anterior funcionava e, na verdade, nunca usei esses arquivos antes (principalmente porque não os conhecia). Depois de pesquisar um pouco, encontrei este link e criei o seguinte ~/.my.cnf que funcionou para mim:
e o comando que o lê:
Algumas coisas a apontar (destaques do artigo vinculado):
Eu testei isso no mysql 5.5 em um Mac, funcionou muito bem. E agora que os conheço, vou usá-los!
ATUALIZAÇÃO Depois de configurar isso, percebi que a linha de comando
mysql --defaults-group-suffix=dbid
era um pouco pesada. Então, como bônus adicional, supondo que você esteja executando o Linux/Mac/Etc, faça o seguinte:Onde
dbid
está o nome do seu grupo de sufixos.Como uma atualização para a atualização de Derek Downey, é assim que eu uso um arquivo ~/.my.cnf comum em diferentes computadores Linux, escolhendo a seção adequada de acordo com o nome do host automaticamente:
Depois disso, tudo o que preciso digitar na linha de comando é
mysql
.Meu administrador de banco de dados me ajudou a descobrir o problema e, portanto, aqui está a solução para o problema original que gerou esta pergunta:
O problema (pelo que entendi) era que o banco de dados só permite acesso a computadores com base em endereços IP específicos. Meu endereço IP mudou quando comprei um novo computador e tinha senhas diferentes para as contas que foram configuradas com os diferentes endereços IP, nas palavras do meu administrador de banco de dados