# Access denied for user 'root'@'localhost' to database 'nextcloud'

**URL:** <https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721>\
**Category:** Support\
**Tags:** french\
**Created:** [February 24, 2021, 11:49am UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721 "2021-02-24T11:49:40Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 24, 2021, 11:49am UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/1 "2021-02-24T11:49:40Z")

</div>

Hello,

I had a corrupted database: `error reading 'mysql/ibdata1': Input/output error`. I have tried different solutions but nothing works since this file is unreadable.

What I have done so far is

- mv /var/lib/mysql

- apt-get install --reinstall mariadb-server

- yunohost tools regen-conf -f mysql

- yunohost service restart mysql

- I have also restored the permissions as mentioned [here](https://forum.yunohost.org/t/restauration-dune-sauvegarde-complete-4-0-en-4-1-isprotected-missing/13918/27) with `GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '<password>';`

… but when I try to restore any app, I get this error `Access denied for user 'root'@'localhost' to database 'wallabag2 'nextcloud'`

This commands runs successfully `mysql -u root -p$(cat /etc/yunohost/mysql) mysql` so the password is correct.

Anyway but permission is still missing. Maybe @kanhu you have a trick for that ? I have seen posts from you.

Any help welcome (French or English).

---

<div class="post-metadata">

**Author:** ![Aleks](https://forum.yunohost.org/user_avatar/forum.yunohost.org/aleks/32/1704_2.png) [@Aleks](https://forum.yunohost.org/u/Aleks)\
**Post date:** [February 25, 2021, 12:57pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/3 "2021-02-25T12:57:35Z")

</div>

> [@Dams](#):
>
> I get this error `‘root’@‘localhost’ to database ‘nextcloud’

This error message is not a full sentence … what does it says exactly ?

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 12:59pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/4 "2021-02-25T12:59:22Z")

</div>

@Aleks Sorry, bad copy paste

Access denied for user ‘root’@‘localhost’ to database ‘wallabag2’

---

<div class="post-metadata">

**Author:** ![Aleks](https://forum.yunohost.org/user_avatar/forum.yunohost.org/aleks/32/1704_2.png) [@Aleks](https://forum.yunohost.org/u/Aleks)\
**Post date:** [February 25, 2021, 1:04pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/5 "2021-02-25T13:04:00Z")

</div>

Sooo I’m not super expert with mysql/mariadb but let’s try this :

- Being logged as root, are you able to run `mysql` (N.B. : without -u or -p)
- Open a mysql prompt (for example using the command you mentioned _with_ -u and -p if just `mysql` did not work) and try to run in the mysql prompt:

`SHOW DATABASES;`

(the point being to list all existing databases to make sure they still exist)

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 1:11pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/6 "2021-02-25T13:11:32Z")

</div>

> [@Aleks](#):
>
> SHOW DATABASES;

```SQL
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.002 sec)

```

I have no other databases. Note that MySQL is restarting from scratch and that I have not yet restored any app.

---

<div class="post-metadata">

**Author:** ![Aleks](https://forum.yunohost.org/user_avatar/forum.yunohost.org/aleks/32/1704_2.png) [@Aleks](https://forum.yunohost.org/u/Aleks)\
**Post date:** [February 25, 2021, 1:13pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/7 "2021-02-25T13:13:37Z")

</div>

Oh okay I see … but then can you share the full log of the attempted restauration

I may have one idea to try but first would be sure to understand what’s going on

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 1:16pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/8 "2021-02-25T13:16:37Z")

</div>

```auto
2021-02-25 12:44:02,045: DEBUG - + local db=wallabag2
2021-02-25 12:44:02,046: DEBUG - + local 'sql=CREATE DATABASE wallabag2;'
2021-02-25 12:44:02,047: DEBUG - + [[3 -gt 1]]
2021-02-25 12:44:02,048: DEBUG - + sql+=' GRANT ALL PRIVILEGES ON wallabag2.* TO '\''wallabag2'\''@'\''localhost'\'''
2021-02-25 12:44:02,049: DEBUG - + [[-n **********]]
2021-02-25 12:44:02,050: DEBUG - + sql+=' IDENTIFIED BY '\'' **********'\'''
2021-02-25 12:44:02,051: DEBUG - + sql+=' WITH GRANT OPTION;'
2021-02-25 12:44:02,052: DEBUG - + ynh_mysql_execute_as_root '--sql=CREATE DATABASE wallabag2; GRANT ALL PRIVILEGES ON wallabag2.* TO '\''wallabag2'\''@'\''localhost'\'' IDENTIFIED BY '\'' **********'\'' WITH GRANT OPTION;'
2021-02-25 12:44:02,162: DEBUG - + database=
2021-02-25 12:44:02,163: DEBUG - + '[' -n '' ']'
2021-02-25 12:44:02,164: DEBUG - ++ cat /etc/yunohost/mysql
2021-02-25 12:44:02,164: DEBUG - + ynh_mysql_connect_as --user=root --password= **********
2021-02-25 12:44:02,273: DEBUG - + database=
2021-02-25 12:44:02,274: DEBUG - + mysql --user=root --password= ********** --batch ''
2021-02-25 12:44:02,375: DEBUG - + ynh_exit_properly
2021-02-25 12:44:02,376: WARNING - ERROR 1044 (42000) at line 1: Access denied for user 'root'@'localhost' to database 'wallabag2'
2021-02-25 12:44:02,377: DEBUG - + local exit_code=1
2021-02-25 12:44:02,378: DEBUG - + '[' 1 -eq 0 ']'
2021-02-25 12:44:02,379: DEBUG - + trap '' EXIT
2021-02-25 12:44:02,379: DEBUG - + set +o errexit
2021-02-25 12:44:02,380: DEBUG - + set +o nounset
2021-02-25 12:44:02,380: DEBUG - + sleep 0.5
2021-02-25 12:44:02,883: DEBUG - + type -t ynh_clean_setup
2021-02-25 12:44:02,885: DEBUG - + exit 1
2021-02-25 12:44:02,918: ERROR - Impossible de restaurer 'wallabag2'

```

Full log at [https://paste.yunohost.org/raw/supebacuxa](https://paste.yunohost.org/raw/supebacuxa)

---

<div class="post-metadata">

**Author:** ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)\
**Post date:** [February 25, 2021, 1:22pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/9 "2021-02-25T13:22:26Z")

</div>

Go to mysql.

```auto
USE mysql;

```

Show the output.

```auto
SELECT User, Host, plugin FROM mysql.user;

```

If the root user has **auth\_socket** you need to change it to **mysql\_native\_password**.

---

<div class="post-metadata">

**Author:** ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)\
**Post date:** [February 25, 2021, 1:24pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/10 "2021-02-25T13:24:12Z")

</div>

Do this to change to **mysql\_native\_password**.

```auto
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;

```

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 1:30pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/11 "2021-02-25T13:30:10Z")

</div>

The plugin column was empty. After applying the change it looks like this

```auto
+------+-----------+-----------------------+
| User | Host | plugin |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+

```

By the way **0 row affected** : `MariaDB [mysql]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.002 sec)`

… but I still have `ERROR 1044 (42000) at line 1: Access denied for user 'root'@'localhost' to database 'wallabag2'`

---

<div class="post-metadata">

**Author:** ![Aleks](https://forum.yunohost.org/user_avatar/forum.yunohost.org/aleks/32/1704_2.png) [@Aleks](https://forum.yunohost.org/u/Aleks)\
**Post date:** [February 25, 2021, 1:33pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/12 "2021-02-25T13:33:00Z")

</div>

> [@kanhu](#):
>
> If the root user has **auth\_socket** you need to change it to **mysql\_native\_password**.

I would argue the opposite 😕

I would run `GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED WITH unix_socket WITH GRANT OPTION;`

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 1:36pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/13 "2021-02-25T13:36:47Z")

</div>

````auto
MariaDB [(mysql)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED WITH unix_socket WITH GRANT OPTION;
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)```
````

---

<div class="post-metadata">

**Author:** ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)\
**Post date:** [February 25, 2021, 1:44pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/14 "2021-02-25T13:44:08Z")

</div>

> [@Aleks](#):
>
> I would run `GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED WITH unix_socket WITH GRANT OPTION;`

In my Yunohost it was **mysql\_native\_password**. I have not tested if socket is working for me.

@Dams  
What is output of:

```auto
 SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;

```

I think this would be privilege issue.

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 1:53pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/15 "2021-02-25T13:53:37Z")

</div>

```auto
+-----------+------+-------------------------------------------+------------+------------+
| host | user | password | Grant_priv | Super_priv |
+-----------+------+-------------------------------------------+------------+------------+
| localhost | root | *4E617FEEEEFCFAD5E2734439948B587CBB4F3D4E | N | Y |
+-----------+------+-------------------------------------------+------------+------------+

```

---

<div class="post-metadata">

**Author:** ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)\
**Post date:** [February 25, 2021, 1:56pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/16 "2021-02-25T13:56:25Z")

</div>

> [@Dams](#):
>
> ```auto
> -----+-------------------------------------------+------------+------------+
> | host | user | password | Grant_priv | Super_priv |
> +-----------+------+-------------------------------------------+------------+------------+
> | localhost | root | *4E617FEEEEFCFAD5E2734439948B587CBB4F3D4E | N | Y |
> +-----------+------+-------------------------------------------+------------+------------+
> 
> ```

Grant privileges then.

```auto
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';

```

If this works, you may change to `unix_socket` and see if that works.

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 1:59pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/17 "2021-02-25T13:59:24Z")

</div>

```auto
MariaDB [mysql]> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
Query OK, 1 row affected (0.447 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.002 sec)

MariaDB [mysql]> GRANT ALL ON *.* TO 'root'@'localhost';
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

```

Does the FLUSH works ?

---

<div class="post-metadata">

**Author:** ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)\
**Post date:** [February 25, 2021, 2:00pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/18 "2021-02-25T14:00:20Z")

</div>

Maybe mysql restart?  
I think you are not root???

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 2:14pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/19 "2021-02-25T14:14:14Z")

</div>

Okay thanks @kanhu and @Aleks it works 😀

Resume

Clear MySQL with

- mv /var/lib/mysql
- apt-get install --reinstall mariadb-server
- yunohost tools regen-conf -f mysql
- yunohost service restart mysql
- get password from `cat /etc/yunohost/mysql``

```auto
# reset password
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '<password>';

# first (not sure it was useful)
UPDATE user SET plugin='mysql_native_password' WHERE User='root';

# then 
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';

# then
mysql restart

```

---

<div class="post-metadata">

**Author:** ![Dams](https://forum.yunohost.org/letter_avatar_proxy/v4/letter/d/2acd7d/32.png) [@Dams](https://forum.yunohost.org/u/Dams)\
**Post date:** [February 25, 2021, 4:58pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/20 "2021-02-25T16:58:21Z")

</div>

The response is spread among the discussion. Therefor I have created a summary, and tagged it as “solution”.

---

<div class="post-metadata">

**Author:** ![system](https://forum.yunohost.org/uploads/default/original/2X/f/f59fe8e3ee6b100b4f574d30d6e30479c68b89f0.png) [@system](https://forum.yunohost.org/u/system)\
**Post date:** [March 12, 2021, 4:58pm UTC](https://forum.yunohost.org/t/access-denied-for-user-root-localhost-to-database-nextcloud/14721/21 "2021-03-12T16:58:39Z")

</div>

Closed on March 12, 2021, 4:58pm UTC

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.
