小编Chr*_*nch的帖子

PHP system()使用MySQL在许多数据库上运行查询

我有一个下面的脚本,通过380个MySQL innodb数据库,并运行各种创建表,插入,更新等,以迁移架构.它从连接到云数据库服务器的Web服务器运行.我将迁移脚本从这个问题中删除,因为我认为它不相关.

我遇到了一个问题,我正在努力寻找解决方法.

我有一个运行MySQL 5.6的4gb ram云数据库服务器.我将380个数据库与40个表迁移到59个表.大约70%的通过我得到了以下错误.它在一次迁移过程中死亡,服务器崩溃了.我正在观察内存使用情况,内存不足.它是一个数据库即服务,因此我没有对服务器的root访问权限,因此我不知道所有细节.

在phppoint_smg上运行查询


Warning: Using a password on the command line interface can be insecure.
ERROR 2013 (HY000) at line 355: Lost connection to MySQL server during query
Run Code Online (Sandbox Code Playgroud)

在phppoint_soulofhalloween上运行查询


Warning: Using a password on the command line interface can be insecure.
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
Run Code Online (Sandbox Code Playgroud)

在phppoint_srvais上运行查询


Warning: Using a password on the command line interface can be insecure.
ERROR 2013 (HY000): Lost connection to …
Run Code Online (Sandbox Code Playgroud)

php mysql database

13
推荐指数
1
解决办法
490
查看次数

nohup作为后台任务不返回提示

我试图在后台运行长时间运行的任务,而无需再进行登录,并在终端返回一个提示,但我这样做的时候,任务似乎进入到了后台,但我的提示不变得可用,除非我命中控制+ c.我想运行任务,然后回复我的提示.

[staging@php-pos-web ~]$ nohup php test.php > test.txt &
[1] 27251
[staging@php-pos-web ~]$ nohup: ignoring input and redirecting stderr to stdout
Run Code Online (Sandbox Code Playgroud)

nohup

12
推荐指数
1
解决办法
1万
查看次数

mysql CREATE临时表+ Transaction导致死锁

我有复杂的查询,创建一个临时表,可能需要5秒钟才能运行或更多.这似乎在同时在类似的表上运行另一个事务时导致死锁.我不能在本地复制,但在生产中我能够每隔几天发生一次.(我记录了mysql错误)

查询非常复杂(显示在页面底部); 但你不需要理解逻辑; 只是它从一堆表和连接中选择,可能需要一段时间才能运行.

我还有一个插入许多相同表的事务.我偶尔会遇到一个mysql错误1213: Deadlock found when trying to get lock; try restarting transaction.

这是交易的伪代码

START TRANSACTION
INSERT INTO phppos_sales
INSERT MANY RECORDS INTO phppos_sales_items
INSERT MANY RECORDS INTO phppos_sales_items_taxes
INSERT MANY RECORDS INTO phppos_sales_payments
END TRANSACTION
Run Code Online (Sandbox Code Playgroud)

How do I go about resolving this deadlock? I tried changing isolation level to READ UNCOMMITTED but mysql settings wouldn't allow for this; and I need to make this work in a variety of environments where I don't have control of …

php mysql transactions database-deadlocks

12
推荐指数
1
解决办法
5933
查看次数

Mysql使用通配符提高搜索性能(%%)

以下是我用于通过电子邮件搜索某人的查询

  SELECT *
    FROM phppos_customers
    JOIN phppos_people ON phppos_customers.person_id = phppos_people.person_id
   WHERE deleted = 0
     AND email LIKE '%f%'
ORDER BY email ASC
Run Code Online (Sandbox Code Playgroud)

在"电子邮件"上添加索引会加快查询速度吗?

mysql sql indexing query-optimization

11
推荐指数
3
解决办法
1万
查看次数

错误1148 MySQL此MySQL版本不允许使用该命令

我正在使用MySQL LOAD DATA LOCAL INFILE命令,我收到此错误:

PDOException: SQLSTATE[42000]: Syntax error or access violation: 1148 The used 
command is not allowed with this MySQL version: LOAD DATA LOCAL INFILE 
'/tmp/phpI0ox54' INTO TABLE `dev_tmp` FIELDS TERMINATED BY ',' ENCLOSED 
BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES; Array ( ) in 
dc_real_estate_form_submit() (line 147 of /PATH/TO/PHP/SCRIPT).
Run Code Online (Sandbox Code Playgroud)

我们可以更改什么设置以允许LOAD DATA LOCAL infile?

这是我们使用的Drupal 7代码:

$sql = "LOAD DATA LOCAL INFILE '".$file."'
    INTO TABLE `dev_tmp`
    FIELDS
        TERMINATED BY ','
        ENCLOSED BY '\"'
    LINES
    TERMINATED …
Run Code Online (Sandbox Code Playgroud)

php mysql load-data-infile

11
推荐指数
1
解决办法
2万
查看次数

mysqli_multi_query对mysql条件注释查询不可靠

我遇到了mysql条件注释查询的问题,其中报告错误而没有语法错误.它适用于至少有一个查询实际上是以条件执行的情况.

我使用的是php 5.6.24和mysql 5.5.52-cll

示例1(成功):

<?php
$conn = mysqli_connect("127.0.0.1", "aaatex_phppos", "phppos", "aaatex_phppos2");

$test1 = "
/*!40000 REPLACE INTO `phppos_app_config` (`key`, `value`) VALUES ('supports_full_text', '0') */;
/*!50604 REPLACE INTO `phppos_app_config` (`key`, `value`) VALUES ('supports_full_text', '1') */;";

mysqli_multi_query($conn,$test1);
print_r(mysqli_error_list($conn));
?>
Run Code Online (Sandbox Code Playgroud)

supports_full_text值为0,如预期的那样.

例2(失败):

<?php
$conn = mysqli_connect("127.0.0.1", "aaatex_phppos", "phppos", "aaatex_phppos2");

$test2 = "
/*!50604 REPLACE INTO `phppos_app_config` (`key`, `value`) VALUES ('test', '0') */;
/*!50604 REPLACE INTO `phppos_app_config` (`key`, `value`) VALUES ('test', '1') */;";

mysqli_multi_query($conn,$test2);
print_r(mysqli_error_list($conn));
Run Code Online (Sandbox Code Playgroud)

收到的错误:

Array
(
    [0] => Array
        (
            [errno] …
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli

11
推荐指数
1
解决办法
451
查看次数

Ruby On rails项目没有测试

我知道不建议这样做,但有没有办法生成/修改现有项目,因此在使用rails生成控制器NAME等生成器时,它不会创建测试文件?

ruby-on-rails

10
推荐指数
1
解决办法
4111
查看次数

访问lib目录中的模块(Ruby on rails)

我试图访问位于我的应用程序的lib目录中的模块中的函数.(LIB/search.rb)

我实际上是想通过以下方式获取邮政编码:http: //joshhuckabee.com/simple-zip-code-perimeter-search-rails

LIB/search.rb

module Search
  def zip_code_perimeter_search(zip, radius)
   #code
  end
end
Run Code Online (Sandbox Code Playgroud)

我试图从rails控制台或我的控制器调用zip_code_perimeter_search函数,两次我得到未定义的方法.有任何想法吗?

ruby-on-rails

10
推荐指数
1
解决办法
6622
查看次数

CodeIgniter从mysql切换驱动程序 - > mysqli

我正在阅读这个问题: mysql扩展已被弃用,将来会被删除:使用mysqli或PDO代替

它让我觉得我应该从mysql改为mysqli.这是CodeIgniter中的一个字符更改所以它不是很难:)

但有什么我应该注意发现可能发生的任何错误?某些查询是否有不同的处理方式?

php mysql mysqli codeigniter

10
推荐指数
1
解决办法
6424
查看次数

mysql 5.6 Linux vs windows性能

在运行Php 5.4的Linux MySQL 5.6服务器中,以下命令需要2-3秒

exec("mysql --host=$db_host --user=$db_user --password=$db_password $db_name < $sql_file"); 
Run Code Online (Sandbox Code Playgroud)

在具有类似配置的窗口上,需要10-15秒.Windows机器有更多的RAM(16GB)和类似的硬盘驱动器.我安装了MySQL 5.6并没有进行配置更改.这是在Windows Server 2012上.

我可以更改哪些配置来解决此问题?

数据库文件创建了大约40个innodb表,其中包含非常少的插入.

编辑:这是我正在运行的文件:

https://www.dropbox.com/s/uguzgbbnyghok0o/database_14.4.sql?dl=0

更新:在Windows 8和7上它是3秒.但在Windows Server 2012上它是15秒以上.我禁用了System Center 2012,但没有任何区别.

更新2:

我也试过杀死除mysql和IIS之外的几乎所有服务,它仍然执行缓慢.Windows Server 2012中是否存在导致此速度变慢的问题?

更新3我尝试禁用写缓存缓冲区刷新,性能现在很好.

我没有必要在我测试的其他机器上执行此操作.这是否表明磁盘是如何设置的?

https://social.technet.microsoft.com/Forums/windows/en-US/282ea0fc-fba7-4474-83d5-f9bbce0e52ea/major-disk-speed-improvement-disable-write-cache-buffer-flushing?forum= w7itproperf

mysql

10
推荐指数
1
解决办法
8365
查看次数