首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能使用PhpMyAdmin和VPS上的Cpanel导入数据库?

不能使用PhpMyAdmin和VPS上的Cpanel导入数据库?
EN

Stack Overflow用户
提问于 2012-12-22 22:23:16
回答 3查看 4.8K关注 0票数 0

我最近用cPanel设置了一个VPS。

我已经创建了一个用户并创建了一个数据库,现在我想将一个数据库导入到其中。

但是,当我尝试时,我会得到错误消息。

#1044 -拒绝用户' user '@'localhost‘到数据库’数据库‘的访问

我怀疑这可以用WHM解决,但我还不想尝试和错误。我该怎么解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-23 00:34:12

使用phpMyAdmin导入数据库时,通常通过导入具有.sql扩展名的文本文件来实现。下面是.sql数据库备份中的一段代码。在您的示例中,您要导入的数据库名为数据库。

代码语言:javascript
复制
-- phpMyAdmin SQL Dump
-- version 2.11.9.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Apr 02, 2010 at 08:01 AM
-- Server version: 5.0.81
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE DATABASE database;
-- --------------------------------------------------------
--
-- Table structure for table `table`
--

CREATE TABLE IF NOT EXISTS `table` (
`column1` text NOT NULL,
`column2` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

当使用phpMyAdmin试图导入这样的文件时,您将收到类似于以下内容的错误消息:

代码语言:javascript
复制
Error

SQL query:

CREATE DATABASE database;

MySQL said: Documentation
#1044 - Access denied for user 'user'@'localhost' to database 'database'

在这个场景中,cPanel用户名是user。由于cPanel的数据库命名约定,所有数据库名称都必须以cPanel用户名开头,然后是_。使用这种格式,您只能创建名为user_database的数据库。

此导入失败的原因是由于.sql文件中的以下行.

代码语言:javascript
复制
CREATE DATABASE database;

同样,您不能创建名为database的数据库,但是可以创建名为user_database的数据库。

如果您更改了一行:CREATE DATABASE,以便它创建:user_database而不是database,那么它将再次失败,并收到以下消息:

代码语言:javascript
复制
Error

SQL query:

CREATE DATABASE user_database;

MySQL said: Documentation
#1044 - Access denied for user 'user'@'localhost' to database 'user_database'

使用cPanel时,必须在cPanel本身内创建数据库。

以下是纠正这一问题的步骤:

  1. user_database中创建cPanel数据库
  2. 在我的CREATE DATABASE文件中注释掉.sql命令 要做到这一点,只需更改: CREATE DATABASE database;-- CREATE DATABASE database; 您只需将dash-dash-space添加到行的前面,将其注释掉,这样就不会执行它。
  3. 登录到phpMyAdmin,访问user_database数据库,然后正常导入。
票数 2
EN

Stack Overflow用户

发布于 2013-10-08 17:43:24

在转储数据库之前,授予在Cpanel中创建的新数据库用户完全访问权限,该用户的密码与该用户的密码相同:grant all on database_name.* to database_user@localhost identified by 'password';

然后您需要修改您的.sql文件(可以使用notepad++),注释掉说明创建和使用新数据库的部分:

-- Database: dbname --

-- CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

-- USE dbname;

然后,您应该能够将它导入到您的Cpanel中。

票数 0
EN

Stack Overflow用户

发布于 2012-12-22 22:58:58

为了使它正式..。

您试图导入的文件可能有一些您没有权限的内容。我会检查权限,然后你要导入的文件。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14007055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档