相关疑难解决方法(0)

授予**所有**数据库权限

我创建了数据库,例如'mydb'.

CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

现在我可以从任何地方登录到数据库,但无法创建表.

如何授予该数据库和(将来)表的所有权限.我无法在'mydb'数据库中创建表.我总是得到:

CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
Run Code Online (Sandbox Code Playgroud)

mysql mariadb mysql-error-1142

589
推荐指数
11
解决办法
165万
查看次数

MySQL错误1449:指定为定义者的用户不存在

当我运行以下查询时,我收到一个错误:

SELECT
  `a`.`sl_id`                     AS `sl_id`,
  `a`.`quote_id`                  AS `quote_id`,
  `a`.`sl_date`                   AS `sl_date`,
  `a`.`sl_type`                   AS `sl_type`,
  `a`.`sl_status`                 AS `sl_status`,
  `b`.`client_id`                 AS `client_id`,
  `b`.`business`                  AS `business`,
  `b`.`affaire_type`              AS `affaire_type`,
  `b`.`quotation_date`            AS `quotation_date`,
  `b`.`total_sale_price_with_tax` AS `total_sale_price_with_tax`,
  `b`.`STATUS`                    AS `status`,
  `b`.`customer_name`             AS `customer_name`
FROM `tbl_supplier_list` `a`
  LEFT JOIN `view_quotes` `b`
    ON (`b`.`quote_id` = `a`.`quote_id`)
LIMIT 0, 30
Run Code Online (Sandbox Code Playgroud)

错误消息是:

#1449 - The user specified as a definer ('web2vi'@'%') does not exist
Run Code Online (Sandbox Code Playgroud)

为什么我会收到这个错误?我如何解决它?

mysql permissions

320
推荐指数
15
解决办法
44万
查看次数

启用远程MySQL连接:ERROR 1045(28000):拒绝用户访问

在Windows XP上运行的MySQL 5.1.31.

本地 MySQL服务器(192.168.233.142)我可以以root身份连接如下:

>mysql --host=192.168.233.142 --user=root --password=redacted
Run Code Online (Sandbox Code Playgroud)

远程计算机(192.168.233.163),我可以看到mysql端口是打开的:

# telnet 192.168.233.142 3306
Trying 192.168.233.142...
Connected to 192.168.233.142 (192.168.233.142).
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从远程计算机连接到mysql时,我会收到:

# mysql --host=192.168.233.142 --user=root --password=redacted
ERROR 1045 (28000): Access denied for user 'root'@'192.168.233.163' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

我在mysql.user中只有2个条目:

Host         User     Password
--------------------------------------
localhost    root     *blahblahblah
%            root     [same as above]
Run Code Online (Sandbox Code Playgroud)

我还需要做些什么来启用远程访问?

编辑

正如下面的Paulo所建议的,我尝试用特定于IP的条目替换%的mysql.user条目,因此我的用户表现在看起来像这样:

Host             User     Password
------------------------------------------
localhost        root     *blahblahblah
192.168.233.163  root     [same as above]
Run Code Online (Sandbox Code Playgroud)

然后我重新启动了机器,但问题仍然存在.

mysql

131
推荐指数
6
解决办法
28万
查看次数

ERROR 1130(HY000):不允许主机''连接到此MySQL服务器

为什么哦为什么我不能连接到mysql?

mysql -u root -ptest101 -h xxx.xxx.xxx.xxx
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
Run Code Online (Sandbox Code Playgroud)

在my.cnf我有以下内容

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

我也跑了以下......

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

我可以使用mysql -u root -ptest101在主机上访问但不能使用mysql -u root -ptest101 -h xxx.xxx.xxx.xxx

哇......为什么会这样?我是ubuntj 12.04

mysql> SELECT host FROM mysql.user WHERE User = …
Run Code Online (Sandbox Code Playgroud)

mysql ubuntu

119
推荐指数
3
解决办法
27万
查看次数

SQLSTATE [HY000] [1698]访问被拒绝用户'root'@'localhost'.尝试了一切

我刚刚安装了Ubuntu 16.04并在其上安装了Web服务器.一切运作良好,但我无法访问数据库.我在互联网上尝试了一切,也在这里,但没有任何作用......即使我创建新用户并授予所有权限,我也无法创建数据库:(在PHP中我得到'这个错误:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)

当我尝试登录终端时,它可以工作,但在PHP和phpmyadmin中没有.请帮忙.

PHP代码:

protected $host = '127.0.0.1';
protected $db = 'dbname';
protected $name = 'root';
protected $pass = 'root';
protected $conn;
private static $settings = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
);

public function __construct() {
    try {
        $this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->name, $this->pass, self::$settings);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}
Run Code Online (Sandbox Code Playgroud)

php mysql login root

42
推荐指数
7
解决办法
18万
查看次数

无法在 mysql 8.0.17 上授予选择

我想向每个主机的用户授予选择权限,但出现错误,您不允许创建用户

mysql>GRANT SELECT ON *.* TO 'alice'@'%' WITH GRANT OPTION;

ERROR 1410 (42000): 不允许您使用 GRANT 创建用户

我不想创建新用户,因为我使用了命令 CREATE USER

我尝试创建一个新用户,但授予命令也失败。

mysql sql-grant

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

用户 'root'@'localhost' 访问被拒绝 - Spring Boot 和 MySQL 连接

我正在尝试从 Spring Boot 连接 MySQL 数据库,但出现以下错误:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.19.jar:8.0.19]
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.2.jar:na]
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354) ~[HikariCP-3.4.2.jar:na]
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) ~[HikariCP-3.4.2.jar:na]
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473) [HikariCP-3.4.2.jar:na]
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554) [HikariCP-3.4.2.jar:na]
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.4.2.jar:na]
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) [HikariCP-3.4.2.jar:na]
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) [hibernate-core-5.4.12.Final.jar:5.4.12.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) …
Run Code Online (Sandbox Code Playgroud)

java mysql mysql-workbench spring-boot

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