1. 启动容器
docker run --name=vipaturks -d -p 80:80 -p 3316:3306 -v C:/docker/dataturks/uploads:/home/dataturks/bazaar/uploads vipa/vipaturks:1.1
-
-p
端口映射:apache80:80
和 mysql3316:3306
-
-v
存储映射
mysql 创建用户时,已设置 dataturks
主机地址任意。
mysql -u root -e "CREATE USER dataturks@'%' IDENTIFIED BY '***';"
mysql -u root -e "GRANT SELECT, INSERT, UPDATE, DELETE ON hope.* TO dataturks@'%';FLUSH PRIVILEGES;"
如果是已经启动的容器,需要修改 mysql.user
表
MariaDB [hope]> use mysql
MariaDB [mysql]> select User, host from user;
+-----------+-----------+
| User | host |
+-----------+-----------+
| dataturks | 127.0.0.1 |
| root | localhost |
+-----------+-----------+
2 rows in set (0.00 sec)
MariaDB [mysql]> update user set host='%' where User='dataturks';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> select User, host from user;
+-----------+-----------+
| User | host |
+-----------+-----------+
| dataturks | % |
| root | localhost |
+-----------+-----------+
2 rows in set (0.00 sec)
-- 最后再执行
MariaDB [mysql]> GRANT SELECT, INSERT, UPDATE, DELETE ON hope.* TO dataturks@'%';
Query OK, 0 rows affected (0.01 sec)
MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
2. 修改容器内 mysql cnf 可连接任意主机
$ vim /etc/mysql/mariadb.conf.d/50-server.cnf

重启 mysql 服务
$ service mysql restart
[ ok ] Stopping MariaDB database server: mysqld.
[ ok ] Starting MariaDB database server: mysqld ..
3. PyCharm 连接 docker mysql

网友评论