2017-04-24 3 views
2

Avec Ubuntu, je l'ai déjà créé une base de données MySQL en utilisant le code suivant dans le terminal:chown Utilisé pour/var/lib/mysql pour changer le propriétaire de la racine, obtenir maintenant Erreur 1049 (42000) dans une base MySQL

$ my sql -u root -p 

ensuite dans les mysql:

CREATE DATABASE securities_master; 

Je tentais d'utiliser l'explorateur de fichiers pour afficher les contenus liés à cette base de données. Mais parce que je n'avais pas les permissions pour ouvrir le dossier/var/lib/mysql je voulais changer les permissions sur ce dossier. Je l'ai fait quelques recherches sur stackoverflow, et sans comprendre pleinement ce que je faisais, j'utilisé quelque chose comme ce qui suit (mon nom d'utilisateur étant wei):

sudo chown -R root:wei /var/lib/mysql 

OU (malheureusement j'eu depuis la fenêtre de terminal fermé donc pas sûr exactement ce que Je tapais)

sudo chown -R wei:wei /var/lib/mysql 

OU

sudo chown -R wei /var/lib/mysql 

Cela m'a permis de visualiser l'intérieur du répertoire et voir mes fichiers, donc je pensais que je faisais des progrès. Cependant, une fois que je l'avais fait cela, je compris que quand j'ai essayé d'utiliser la base de données MySQL:

USE securities_database; 

je reçois un message d'erreur comme:

ERROR 1049 (42000): Unknown database 'securities_master' 

Je crois que cela est lié à mon utilisation de chown plus tôt. En examinant cela avec d'autres recherches de stackoverflow, je suis maintenant sous l'impression que je ne devrais pas être emporté par la racine de certains fichiers de root car "de mauvaises choses peuvent arriver". J'ai essayé de restaurer la propriété racine avec:

sudo chown -R root /var/lib/mysql 

ET/OU:

sudo chown -R root:root /var/lib/mysql 

Mais il me semble malheureusement avoir toujours le même message d'erreur. Je m'excuse si ma question semble si basique, ou une telle erreur de débutant, newbie totale à Ubuntu, Linux et mysql ici. Merci.

+0

'SHOW bases de données;' répertorie votre base de données créée? – Dez

+0

Came up avec une erreur car j'avais la propriété incorrecte, mais une fois que je l'ai réparé selon la suggestion @Barmar, il a effectivement montré la base de données, merci. – Wei

Répondre

6

La propriété normale de tout dans /var/lib/mysql est mysql:mysql. Donc, vous devriez être en mesure de le réparer avec:

sudo chown -R mysql:mysql /var/lib/mysql 
+1

Ce commentaire de 3 lignes a résolu mon problème en 10 secondes après avoir passé 4 heures à essayer de le résoudre moi-même avant cela. J'aurais aimé pouvoir faire la promotion (mais avoir moins de 15 ans de réputation), et si vous viviez plus près de moi, je vous achèterais une bière. Merci encore. – Wei

+0

Vous pouvez accepter la réponse, c'est mieux que l'upvoting. – Barmar