Mysql 8远程访问

时间:2018-05-28 16:44:15

标签: mysql authentication mysql-8.0

我通常正确设置MySQL以进行远程访问。

目前我遇到了MySQL 8。

第一件事就是在mysql.conf.d / mysqld.cnf上,我没有任何绑定地址行,所以我手工添加它(bind-address 0.0.0.0) 我在'%'

上授予用户访问权限

当我连接时,我收到消息“身份验证失败”

但它在localhost /命令行上运行良好

4 个答案:

答案 0 :(得分:6)

MySQL 8 中的远程访问:

1) 允许来自任何主机的访问

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address            = 0.0.0.0

2) 允许用户从任何地方访问:

mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
UPDATE mysql.user SET host='%' WHERE user='root';

3) 将身份验证更改为密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'ThePassword';

答案 1 :(得分:1)

制作方法

  1. bind_address文件中删除或注释my.ini参数。
  2. 重新启动服务。
  3. 创建root用户(是的,是新用户,因为存在的是“ root @ localhost”(仅本地访问))

    CREATE USER 'root'@'%' IDENTIFIED BY '123';

  4. 授予特权:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

  

对于 DBA 用户,请在末尾添加WITH GRANT OPTION


MySQL 8不再能够使用GRANT创建用户,因此如果尝试将IDENTIFIED BY '123'GRANT一起使用,则会出现module.exports = { entry: "./src/index.ts", output: { filename: "demo.js", library: "Demo", libraryTarget: "umd", libraryExport: "default" }, devtool: "inline-source-map", plugins: [ new CleanWebpackPlugin(), new SourceMapDevToolPlugin({ exclude: /node_modules/ }) ], resolve: { extensions: [".ts", ".tsx", ".js", ".jsx"], alias: { "@Src": path.resolve(__dirname, "src") } }, module: { rules: [ { test: /\.(ts|tsx)?$/, loader: "awesome-typescript-loader" }, { test: /\.less$/, use: [ { loader: "style-loader" }, { loader: "css-loader", options: { modules: true } }, { loader: "less-loader" } ] }, { test: /\.(png|svg|jpg|gif)$/, use: ["file-loader"] } ] }, externals: { react: "React" } }; 中的错误,这是最常见的错误。 / p>

答案 2 :(得分:1)

遇到相同的问题,已连接到MySQL Workbench并更新了用户权限。

MySQL版本:8.0.20社区。 操作系统:Windows 10。

  1. 打开MySQL Workbench->服务器->用户和特权
  2. 选择用户
  3. 将“主机匹配限制”更改为“%”以从任何主机进行访问。
  4. 应用更改。
  5. 如果需要,请重新启动MySQL服务。它对我有用,无需重启。

屏幕截图, MySQL Workbench 8.0.20

答案 3 :(得分:0)

对于MySQL 8,打开mysqld.cnf文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

并修改或添加绑定地址选项:

[mysqld]
bind-address = 0.0.0.0

重新启动 mysql 服务器

sudo service mysql restart