Tag: mysql

在定义了卷(-v)的情况下,在Ubuntu上运行后,Docker percona(mysql mariadb)容器停止运行

在Ubuntu 16.04和Docker 17.05.0-ce上,我尝试使用主机目录映射(卷)来设置percona-mysql docker镜像。 这里是图像: docker pull percona/percona-server:latest 这里是容器运行命令: docker run –name percona -e MYSQL_ROOT_PASSWORD=secret -v /home/myuser/db/files:/var/lib/mysql -p 6603:3306 -d percona/percona-server:latest mysql -h docker_host_ip -P 6603 问题是容器在这个命令后立即停止 – 但是当我没有使用-v …参数(卷映射)时,容器启动没有问题。 如何解决这个问题呢? 这个问题也可能在mysql或mariadb图像上。

Galera群集节点不会触发wsrep_notify_cmd和wsrep_sst_method

我用3个docker containers设置了3个节点的Galera cluster 。 有一个要求,当数据从donor节点同步到其他节点时,基于同步节点上的wsrep_notify_cmd触发器或wsrep_sst_method触发器,还需要将数据填充到该节点上相应的Redis队列。 问题是这2个触发器只有在启动集群时才被调用。 有一个日志说这两个触发器是在一个节点join集群时被调用的。 但是,当我试图修改模式或在一个节点上执行CUD操作时,触发器不会在其他节点上被触发。 我不知道如果我做了不正确的configuration,或者这不是这些触发器的工作方式。 以下是我用来使群集工作的文件 泊坞窗,compose.yml version: '3' services: node1: build: ./galera/ image: galera_mariadb:latest container_name: "galera_cluster_node1" hostname: node1 ports: – 13306:3306 networks: – galera_cluster volumes: – ./galera/conf.d/galera.cnf:/etc/mysql/conf.d/galera.cnf – /var/data/galera/mysql/node1:/var/lib/mysql/ # ./galera/scripts contains the bash script which is executed by wsrep_notify_cmd trigger – ./galera/scripts/:/etc/mysql/scripts/ environment: – MYSQL_ROOT_PASSWORD=123 – REPLICATION_PASSWORD=123 – MYSQL_DATABASE=test_db […]

在Docker for Windows中,大写字母表不可见

我现在正在使用Docker Toolbox。 我有与标准(小写表)和大写的数据库的项目。 例如: migrations和T_EXPORT 。 使用Docker工具箱一切都很好,但我想切换到Docker for Windows,这里的问题 – 当我在数据库中的Docker for Windows上运行相同的项目只有可见的小写表( migrations ),但大写不完全可见。 显然这导致该网站无法正常工作,这些表不能被pipe理。 当我再次切换到Docker Toolbox时,所有的表格都可以看到,一切正常。 我想指出,整个项目是在同一个地方。 我不复制项目文件在任何地方 – 我使用完全相同的项目文件(包括数据库文件),只有在Docker Toolbox和Docker for Windows之间切换,所以理论上一切都应该工作。 这个问题 – 我应该添加到docker-composer.yaml ,以使其工作,或者这是Docker for Windows的一个错误,Docker团队应该解决这个问题吗?

是否有可能在SqlAlchemy中通过名称连接到dockerdb容器?

我有以下docker容器,这两个共享一个networking连接,并exec到api ,允许我ping db ,这一点是好的。 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8790d379ddb9 codeinsight/database "/run-database.sh" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp db 88b2022876cc codeinsight/rest-api "python /usr/src/a…" 3 minutes ago Up 3 minutes 3000/tcp, 0.0.0.0:3000->8989/tcp api 但是,当使用sqlalchemy连接到db (可能不是特定于框架!)时: self.engine = create_engine('mysql+pymysql://user_name:password@db:3306/dbname', echo=True) 除了连接拒绝,我什么也得不到 Can't connect to MySQL server on 'db' ([Errno 111] Connection refused 那么,在定义和build立链接时,是否可以通过容器名称进行连接? […]

无法连接到在vagrant vm中运行的dockerised mysql

注意:这是一个与这里描述的不同的问题: 如何连接到virtualbox vagrant中的mysql服务器 我有一个docker容器里面运行的mysql,它本身在一个Vagrant虚拟机中运行。 我想连接到我的主机(在这种情况下使用一些Java代码)的MySQL数据库,但我得到一个exception,指出MySQL是不可访问的: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure 很明显,Java代码没有错。 为了解决这个问题,我开始在虚拟机上打开一个SSH会话。 一旦在虚拟机上,我可以使用默认的端口(3306)获得docker集装箱的IP地址和telnet。 这部分是非常清楚的工作 – MySQL的另一边拿起。 (我有dockerised mysql的绑定地址设置为0.0.0.0,所以mysql可以对外界说话): vagrant@vagrant-ubuntu-trusty-64:~$ sudo docker inspect –format '{{ .NetworkSettings.IPAddress }}' b80e4b883062 172.17.0.2 vagrant@vagrant-ubuntu-trusty-64:~$ telnet 172.17.0.2 3306 Trying 172.17.0.2… Connected to 172.17.0.2. Escape character is '^]'. J …some garbled text here, as expected… 当我移动一步并尝试通过在我的stream浪文件中指定的转发端口连接到MySQL数据库时,问题首先体现出来: config.vm.network "private_network", ip: "192.168.56.101" config.vm.network "forwarded_port", guest: […]

SQLSTATE 没有这样的文件或目录

我是Laravel新手。 我正在尝试用资源控制器创build一个laravel CRUD。 但是,当我尝试运行php artisan migrate出现以下错误: SQLSTATE [HY000] [2002]没有这样的文件或目录(SQL:select * from information_schema.tables where table_schema = homestead and table_name = migrations) 这是我的database.php 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'design'), 'username' => env('DB_USERNAME', 'homestead'), 'password' => env('DB_PASSWORD', 'secret'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' […]

服务器重新启动后按顺序重新启动Docker容器

有3个Docker容器需要在服务器重启时自动重启。 我们可以使用重启策略来启动容器,比如 sudo docker run –restart=always -d your_image 但是因为一个容器与另一个容器相连,他们需要依次启动。 问题:有没有办法自动重新启动Docker容器?

MySQL的Docker代理:来自主机的“丢失连接”消息

我想要的是 有https://github.com/jwilder/nginx-proxy包。 这对于“HTTP”非常有用,但我也想用它来TCP。 (MySQL的) 这里是我的变化: https : //github.com/fchris82/nginx-proxy/commit/33d80ea4d4be5d511e4dab0413d516770aa15262 正如你所看到的,我已经添加了stream {}块到nginx.conf和/etc/nginx/stream.conf.d目录。 这里是stream块的生成的default.conf : access_log off; error_log /var/log/nginx/debug.log debug; resolver 127.0.0.11; # whoami.loc upstream whoami.loc { ## Can be connect with "nginxproxy_default" network # nginxproxy_mysql_1 server 192.168.32.2:3306; } server { listen whoami.loc:81; proxy_pass whoami.loc; } 我做了什么,你怎么能重现错误 # Set host > sudo echo "127.0.0.1 whoami.loc" >> /etc/hosts # […]

docker:SQLSTATE 没有这样的文件或目录

嘿家伙我试图连接Yii2与在mariadb运行的mariadb 。 我使用docker,我有这些容器 mariadb和php-fpm我可以使用这个命令mysql -u root -p连接到mariadb容器内的mysql -u root -p ,没有任何问题。 也使用mysql workbench我可以通过隧道连接到MySQL也没有问题。 但是当我跑了网站,例如。 mysite.com/user/login,login时我得到这个错误 SQLSTATE[HY000] [2002] No such file or directory Caused by: PDOException 这是我mariadb -compose文件中的mariadbconfiguration mariadb: image: bitnami/mariadb:latest container_name: mariadb working_dir: /bitnami/mariadb volumes: – ./data/mariadb:/bitnami/mariadb environment: – MARIADB_ROOT_PASSWORD=rootpass – MARIADB_DATABASE=mydb – MARIADB_USER=david – MARIADB_PASSWORD=pass ports: – "8890:3306" 在Yii2我的main.phpconfiguration我有这个作为我的dsn mysql:host=ipvalueofmysite.com;port=8890;dbname=mydb

Docker的mysql问题

我读过最近的post设置MySQL和导入转储在Dockerfile中,但无法find答案。 我想要的是build立与创build的数据库,用户和其他一些数据的自定义MySQL映像。 这是我的Dockerfile(简体): FROM mysql:5.7 ENV MYSQL_ROOT_PASSWORD=root RUN service mysql start && \ mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE DATABASE mydb;" && \ mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "SHOW databases;" && \ service mysql stop ENTRYPOINT service mysql start && /bin/sh 图像已成功构build,mydb数据库被列为“SHOW DATABASES”的输出。 但是,当我运行容器基于这个图像,我看到根密码是空的,并且mydb数据库丢失。 我该如何解决这个问题? 谢谢?