小编Bad*_*mer的帖子

致命错误:无法打开和锁定权限表:表'mysql.host'不存在

我在RHEL 5上重新安装的服务器上.我能够安装Apache和PHP.但是我的MySQL安装遇到了严重问题.我尝试了以下方法:

yum install mysql-server mysql 
Run Code Online (Sandbox Code Playgroud)

并没有得到任何错误或冲突.然后我尝试使用以下命令启动mysql:

chkconfig --levels 235 mysqld on
service mysqld start
Run Code Online (Sandbox Code Playgroud)

得到 Timeout error occurred trying to start MySQL Daemon.

我检查了我的日志并看到了这个错误:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
Run Code Online (Sandbox Code Playgroud)

我不知道从哪里开始.

作为参考,我使用RHEL 5并安装了最新版本的PHP 5和Apache.

mysql linux rhel rhel5

61
推荐指数
7
解决办法
21万
查看次数

Oracle相当于MySQL INSERT IGNORE?

我需要更新一个查询,以便在插入之前检查重复的条目是否存在.在MySQL中我可以使用INSERT IGNORE,这样如果找到重复的记录,它只是跳过插入,但我似乎找不到Oracle的等效选项.有什么建议?

oracle insert duplicates

23
推荐指数
3
解决办法
4万
查看次数

当前密码未知时重置MySQL root密码

我继承了一个安装了mysql的服务器.我没有任何用户的mysql密码,甚至没有root(虽然我有linux root密码).另外,我只知道另一个用户帐户besdies root,并且没有权限执行任何操作,甚至SELECT.

我尝试停止mysql servicw,使用skip grant tables选项重新启动,只是在没有密码的情况下登录:

service mysqld stop
service mysqld start --skip-grant-tables &
mysql -u root
Run Code Online (Sandbox Code Playgroud)

但是得到以下错误:

Access denied for user 'root'@'localhost' (using password: NO)
Run Code Online (Sandbox Code Playgroud)

然后我尝试重置密码:

mysqladmin -u root password 'newpw'
Run Code Online (Sandbox Code Playgroud)

但这也给出了访问被拒绝的错误.

我还尝试以其他用户身份登录(没有pw)并执行以下命令:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)

并得到此错误:

ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
Run Code Online (Sandbox Code Playgroud)

我也试过删除mysql并重新安装,但我得到了同样的错误.

有什么建议?

mysql passwords

19
推荐指数
3
解决办法
4万
查看次数

在MySQL中使用IF()和ON DUPLICATE KEY UPDATE

我有一个运行MySQL查询的PHP脚本.

$query = "INSERT INTO table (col1, col2)
          VALUES('$val1', '$val2')
          ON DUPLICATE KEY UPDATE col2= IF(IS NOT NULL '$val1', 'test', 'col2)";
Run Code Online (Sandbox Code Playgroud)

以下是我要做的事情:Col1是主键.如果存在重复,则检查col2的插入值是否为空.如果没有,它将使用值更新,否则值将保持不变.

此插入失败.当我尝试在sqlyog中手动运行它(插入实际值代替变量)时,我收到以下错误:错误代码:1064

您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'IS NOT NULL .....'附近使用正确的语法

我已经检查了MySQL参考手册中的IS NOT NULL比较运算符(http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_is-not-null),以及INSERT ... ON DUPLICATE KEY UPDATE语法(http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html)并相信我正确使用两者,但显然不是案件.

我究竟做错了什么?

作为参考,我使用MySQL 5并且脚本在RHEL5服务器上运行.

mysql mysql-error-1064

14
推荐指数
1
解决办法
8192
查看次数

将目录结构添加到SVN Repo

我以前从未管理过svn存储库,尽管我已经使用svn进行版本控制.我使用以下教程在RHEL 5服务器上设置了一个svn存储库:http://mark.koli.ch/2010/03/howto-setting-up-your-own-svn-server-using-apache-and- MOD-DAV-svn.html

一切都很顺利,但我的存储库没有传统的trunk/branch/tags结构.我设置了一个新的存储库,并使用mkdir添加"tags","trunk"和"branches"文件夹,然后尝试在另一台机器上检出工作副本.它在版本0检出,但没有目录结构.我猜测只是添加这些文件夹是不够的.

有人可以解释我需要做什么,以便当我查看工作副本时,我得到整个目录结构?

关注问题感谢所有插话的人.我创建了两个测试存储库,现在希望删除它们.它真的像从服务器中删除文件夹一样简单吗?我用google搜索"svnadmin remove repo",我获得了有关使用svn remove命令的信息,但这是从存储库中删除文件.我想完全删除存储库.

svn

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

在哪里下载FaceBook JavaScript SDK和xd_receiver.htm

我有使用PHP和JavaScript的经验,但我是使用FaceBook API的新手.我正在仔细阅读文档,但请注意他们文档中的许多链接都被破坏了.例如,http://api.facebook.com/static/xd_receiver.htm 的链接是繁琐的,我需要这些内容才能使用FB API做几乎任何事情.说真的,这些家伙似乎真的放弃了他们的文件.有谁知道我可以在哪里获得此文件和JavaScript SDK的其余部分?谢谢.

facebook

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

从所有表中删除外键关系

我有一个有几个表的数据库.许多表都具有外键约束的字段.我想截断表,然后用新数据重新填充它们,我也想取消外键,因为一些关系已经改变.基本上,我想再次从头开始构建FK约束.如何从所有表中删除当前的FK约束?

mysql foreign-keys

7
推荐指数
1
解决办法
8490
查看次数

如何确定用户是否尝试SQL注入攻击

我熟悉使用mysql_real_escape_string()和PHP FILTER_SANITIZE函数来防止sql注入.

但是,我很好奇我将如何在PHP脚本中确定用户输入是否可能是SQL注入尝试?这对于跟踪潜在的恶意IP非常有用.

php mysql sql-injection

5
推荐指数
1
解决办法
2408
查看次数

PHP 和 cURL 不支持 SFTP 错误

我遵循了Stack Overflow 问题线程中的建议,但我一直遇到障碍。

我收到以下错误消息: 不支持的协议:sftp

这是我的代码:

$ch = curl_init();
if(!$ch)
{
    $error = curl_error($ch);
    die("cURL session could not be initiated.  ERROR: $error."");
}


$fp = fopen($docname, 'r');
if(!$fp)
{
    $error = curl_error($ch);
    die("$docname could not be read.");
}

curl_setopt($ch, CURLOPT_URL, "sftp://$user_name:$user_pass@$server:22/$docname");
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($docname));

//this is where I get the failure
$exec = curl_exec ($ch);
if(!$exec)
{
    $error = curl_error($ch);
    die("File $docname could not be uploaded.  ERROR: $error.");
}

curl_close …
Run Code Online (Sandbox Code Playgroud)

php curl

5
推荐指数
1
解决办法
4359
查看次数

使用PHP将列标题添加到CSV文件

我试图将php/mysql生成的表转换为可下载的csv文件.当用户输入搜索参数时,将调用mysql表并将结果作为表返回.

我使用了这个线程中提供的解决方案并且工作得非常好: 在PHP中为用户创建一个CSV文件

我能够允许用户将结果保存或查看为csv文件.我遇到的问题是我不确定如何将列标题添加到文件中.例如,返回的结果采用以下格式:$ result [x] ['office'],$ result [x] ['user']等等,但我还想添加列标题"Office"和"User"使得任何查看csv文件的人都能立即知道数据的含义.

这是生成csv文件的函数:

    header("Content-type: text/csv");
    header("Content-Disposition: attachment; filename=$file.csv");
    header("Pragma: no-cache");
    header("Expires: 0");
    outputCSV($data);

function outputCSV($data) {
        $outstream = fopen("php://output", "a");
        function __outputCSV(&$vals, $key, $filehandler) {
            fputcsv($filehandler, $vals); // add parameters if you want
        }
        array_walk($data, "__outputCSV", $outstream);
        fclose($outstream);
    }
Run Code Online (Sandbox Code Playgroud)

我尝试创建以下函数,然后在调用outputCSV之前调用它,但它不成功:

function create_file_header()
{       
    $headers = 'Office, User, Tag, Value';
    $fp = fopen("php://output", "w");
    file_put_contents("$file.csv", $headers);
    fclose($fp);
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

php csv

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