Tag: mysql

如何安装PHP的mysql模块?

操作系统: Ubuntu 16.04 LTS 我使用以下命令: $ phpversion=7.1 $ apt-get update && apt-get install -y python-software-properties software-properties-common $ add-apt-repository -y ppa:ondrej/php $ apt-get update && apt-get -y install php${phpversion} php${phpversion}-mysql php${phpversion}-gd libapache2-mod-auth-tkt 在这之后,我安装了SMF bbs和phorum bbs,两者都使用php和mysql。 当我运行他们两个,他们都告诉我,PHP中没有MySQL的支持。 我不知道如何在PHP中安装完整的MySQL支持,我根本不熟悉PHP。 非常感谢。 补充: 事实上,我使用相同的bbs代码,相同的操作系统,在Docker容器中安装相同的PHP版本(7.1),并且一切正常。 但是,我在真实的环境中运行所有这些,会发生一些错误。 我很困惑。 我的Dockerfile是: FROM ubuntu:16.04 ENV LANG=C.UTF-8 RUN apt-get update && apt-get install -y \ python-software-properties […]

加载SQL将数据库文件创build到Docker

我有麻烦加载我的SQL文件来创build架构和相关的表,我也试图使用撰写文件中的'卷'选项复制到'docker-entrypoint-initdb.d'目录,但没有任何事情。 表格+模式: https : //pastebin.com/RTBBGZhn MySQL转储: https : //pastebin.com/6ApQwt1F Docker撰写文件 version: '2' services: melissabot: image: melissabot build: . ports: – 7000:7000 – 7070:7070 depends_on: – mysqlMelissa links: – mysqlMelissa:db mysqlMelissa: image: mysql build: ${PWD}/Docker/DB/ environment: – MYSQL_ROOT_PASSWORD=root # – MYSQL_DATABASE=MelissaBot ports: – "3306:3306" phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin restart: always ports: – 8080:80 volumes: – […]

在容器中运行Spring启动应用程序? 还是VM? 或虚拟机内的容器?

我有一个96G的RAM服务器,我想运行几个春季启动应用程序。 他们都需要MySql DB。 我很难决定利用服务器获得最佳隔离和性能的最佳方式。 我在想以下几点: 只为MySql服务器创build一个虚拟机 每个弹簧引导应用程序的VM 现在我应该直接在VM中运行mysql / spring启动,还是在docker中运行它们? 我看不到这样做的直接好处。 但如果以后如果我需要为我的应用程序创build一个集群,那么有一个docker的图像会更好? 或者,如果你是我,你会怎么做? 谢谢

Laravel Cron php_network_getaddresses:getaddrinfo失败

你好! 所以我有这个烦人的问题,为Laravel调度设置一个cron作业。 要了解这个问题,下面是项目架构: 该项目使用docker(我们有一个PHP的容器,MySQL和Nginx的容器) 该Web应用程序build立在Laravel 5.3上 我们想要自动化一些任务,所以我们创build了3个命令,并且将它们在日程安排中进行收集,以便每天运行它们,下面是kernel.php样子: protected $commands = [ 'App\Console\Commands\IncompleteAccount', 'App\Console\Commands\TirageSoon', 'App\Console\Commands\WinzExpiration', ]; protected function schedule(Schedule $schedule) { $schedule->command('incompleteaccount:run')->everyFiveMinutes()->sendOutputTo(storage_path('logs/cron.log')); $schedule->command('tiragesoon:run')->everyFiveMinutes()->sendOutputTo(storage_path('logs/cron.log')); $schedule->command('winzExpire:run')->everyFiveMinutes()->sendOutputTo(storage_path('logs/cron.log')); } 我们的crontab看起来像: * * * * * php /var/www/artisan schedule:run >> /var/www/storage/logs/cron.log 2>&1 在日志文件中我们得到这个: [Illuminate\Database\QueryException] SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (SQL: select * from `booking` where `created_at` […]

symfony不能第一次安装资产

我尝试安装一个数据库和Web服务器与docker撰写。 我的docker组成文件是: version: '3.3' services: db: image: pix_db container_name: pix_db image: mysql:5.7 volumes: – db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: test MYSQL_DATABASE: test MYSQL_USER: test MYSQL_PASSWORD: test networks: – backend api: image: pix_api container_name: pix_api build: context: . dockerfile: ./Dockerfiles/api/Dockerfile.cpu depends_on: – media – db ports: – "8080:8080" networks: – backend networks: backend: hidden: volumes: db_data: […]

在mysql中插入用户定义的variablesCREATE USER

我想创build一个shell脚本在docker CLI中运行,并创build一个MySQL用户,并将主机IP作为命令行variables传递。 所以用我的脚本将是./create_user.sh 172.17.0.1 我试着开始只在sql语句部分插入variables,并使用这样的东西: #!/bin/sh docker exec -i atb-mariadb bash <<'EOF' mysql -uroot -pmypass set @ip='172.17.0.1'; CREATE USER 'exporter'@@ip IDENTIFIED BY 'mypass'; GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'172.17.0.1'; GRANT SELECT ON performance_schema.* TO 'exporter'@'172.17.0.1'; SELECT user, host FROM mysql.user; exit EOF 这导致语法错误,以及一些其他的我试过: CREATE USER CONCAT_WS('exporter','@',@ip) IDENTIFIED BY 'mypass'; CREATE USER 'exporter'@CONCAT_WS('',@ip) IDENTIFIED […]

如何将Docker PHP容器连接到MySql容器?

我用MySQL创build了一个docker容器: docker run –name mysqlfordocker -p3307:3306 -e MYSQL_ROOT_PASSWORD=password_db-d mysql 它按预期工作。 它被MySQLWorckbech和PHP应用程序使用,它们不在MySQL的容器中: //CONNECTION BY PHP APPLICATION NOT IN CONTAINER $servername = "127.0.0.1:3307"; $username_db = "username_db"; $password_db = "password_db"; $db = "db"; 我的PHP应用程序的Dockerfile是: FROM php:7.0-apache RUN apt-get update \ && apt-get install -y –no-install-recommends libpq-dev \ && docker-php-ext-install mysqli pdo_pgsql pdo_mysql COPY / /var/www/html EXPOSE 80 然后我用我的PHP […]

为什么在运行docker容器之后,mysql数据所有权会更改为systemd-journal-remote

我有mysql数据库存储在/home/mysql而不是/var/lib/mysql 。 这个目录曾经被mysql拥有。 但是,当我运行命令docker-compose up这个yml文件: version: '3' services: mariadb: image: mariadb restart: always volumes: – /home/mysql:/var/lib/mysql elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.6.4 environment: – "ES_JAVA_OPTS=-Xms750m -Xmx750m" – bootstrap.memory_lock=false site: build: . volumes: – "./app:/app" links: – mariadb:mysql environment: – DOCKER_IP=172.19.0.2 depends_on: ['elasticsearch','mariadb'] ports: – "3000:3000" Docker容器能够运行,但是/home/mysql中的整个文件夹和文件都由systemd-journal-remote ,这导致node服务器无法连接到mariadb 。 我必须停止ib_logfile0实例,恢复mysql文件夹的所有权并删除ib_logfile0和ib_logfile1 。 为什么mount /home/mysql会导致这样一个致命的问题? 更新: 我的解决scheme是添加user: "mysql" : version: '3' […]

是否有可能在macOS上只安装mysqldump

是否有可能在没有MySQL本身的MacOS上只安装mysqldump。 我通过Docker使用MySQL数据库,但不能通过MySQL Workbench从本地机器上转储数据库。 /Applications/MySQLWorkbench.app/Contents/MacOS/mysqldump是版本5.7.17,但要转储的MySQL服务器的版本是5.7.20。 你有什么build议,如何解决这个问题,并能够从我的本地机器转储。

Dockerfile运行读命令给我错误

下午好,我正在和Docker一起构build一些图片,我发现有些设备会询问用户的密码等问题。 在创build图像的过程中可能会询问用户,然后将该仪表传递给另一个命令,例如,此代码向我发送一个错误 FROM ubuntu:16.04 SHELL ["/bin/bash","-c"] RUN ["echo","========== Enter root password for db =========="] RUN ["/bin/bash","read","pass"] RUN debconf-set-selections <<< "mysql-server mysql-server/root_password password $pass" RUN debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $pass"` 错误消息如下所示: The command '/bin/bash read pass' returned to non-zero code: 127 然后构build过程失败,任何build议做到这一点,在编译时从用户读取?