mysqlで外部接続可能root@%にするとcreateができません

```

    GRANT ALL PRIVILEGES ON shop.shop TO root @’%‘ 
    
```

権限付与

```

    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO 'root '@'%' identified by 'root'; 
    
```

です
CC BY-SA 4.0
2020-10-13T01:31:28.040
71152
2020-10-15T08:43:51.157
2020-10-13T03:56:14.633
32986
39481
question
mysql
mysqlで外部接続可能root@%にするとcreateができない
質問に書かれた通りに実行したのであれば、ユーザー名と `@` の間に余計な半角が入っているのが原因ではないでしょうか？

**あなたが実行したコマンド:**

```

    GRANT ALL PRIVILEGES ON shop.shop TO root @’%‘ 
    
```

**本来実行すべきコマンド:**

```

    GRANT ALL PRIVILEGES ON shop.shop TO root@’%‘
    
```

エラーメッセージでも以下の通り `'root '` として空白を含むユーザー名を指定したものとして弾かれているように見えます。

```

    ... TO 'root '@'%'
    
```
CC BY-SA 4.0
2020-10-13T04:59:10.553
71160
2020-10-13T04:59:10.553
3060
71152
answer
あとから権限を与えたらできました

GRANT ALL PRIVILEGES ON shop.shop TO root @’%‘  
本来実行すべきコマンド:

GRANT ALL PRIVILEGES ON shop.shop TO root@’%‘
CC BY-SA 4.0
2020-10-15T08:43:51.157
71220
2020-10-15T08:43:51.157
39481
71152
answer