比如我在PC上安装有 phpmyadmin, 图形界面很友好,我的MySQL 在一台Centos 7.5服务器上,很自然的想到用phpmyadmin 去登录linux上的MySQL. 但是折腾了很久也没有用我喜欢的phpmyadmin登录到远程mysql, 下载了MySQL Workbench可以连.
ENV:
mySQL on server: CentOS 7.5
mySQL: 8.0
1. 为了不影响DB里面其他数据,先新建一个user 和一个database
How to create new database?
create database shuai_test;
How to show MySQL users?
use mysql;
SELECT User, Host, Password FROM mysql.user;
how to create a new MySQL user?
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
2. 配置MySQL 端使之允许远程访问
因为mysql 默认只允许localhost访问,所有需要在配置中打开远程访问,方法如下[1]
因为我用的 mysql 8.0, 上面step 3 语法已经变了,直接用 GRANT ALL ON *.* TO 'user'@'%'; 代替
3. 配置客户端连接远程mysql.
本来是打算用phpmyadmin 去连接MySQL的,结果修改那个 inc.php 文件怎么也不起作用,问题应该是[2] 里提到的加密方式PHP不支持,后来就下载了mysql 官方的 mysql workbench 可以连接了.
Ref:
[1] How to grant remote access permissions to mysql server for user?
[2] MySQL8.0设置远程访问权限