docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
進入mysql實例
docker exec -it mysql01 bash
登陸mysql
mysql -uroot -p
給用於授予權限
grant all privileges on *.* to `root`@`%`;
網上流傳都是這種寫法,實際上會報錯
GRANT ALL PRIVILEGES ON *.* ‘root’@’%’ identified by ‘root’ WITH GRANT OPTION;
刷新權限
flush privileges;
現在就可以用其他連接工具遠程連接了
總覽
[root@localhost docker]# docker pull mysql
......
[root@localhost docker]# docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
1eab0aa45b90b793914265ea0012035d6a6d592f5b9484663d37929353b438f2
[root@localhost docker]# docker exec -it mysql01 bash
root@1eab0aa45b90:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> grant all privileges on *.* to `root`@`%`;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)