Linux版本是Ubuntu 16.04
安装MySQL
sudo apt-get install mysql-server-5.7
通过cd /etc/mysql 命令进入mysql文件夹
可以看到文件夹下面的这些文件
其中conf.d 和 mysql.conf.d是两个文件夹,而mysql服务器的配置文件在mysql.conf.d里,my.cnf文件里存放的是mysql客户端的配置,我们想要连接服务器就要修改mysql.conf.d里的配置而不是my.cnf里的
进入该文件夹,其中mysqld.cnf就是配置文件,使用 vim编辑器打开该配置文件
找到bind-address,它原来应该是127.0.0.1,我已经把他改成0.0.0.0了
因为在虚拟机中的 MySQL 服务器默认配置下,bind-address
通常设置为 127.0.0.1
,这意味着 MySQL 只会监听本地回环地址上的连接,请求只能来自同一台机器。为了让外部的 MySQL 客户端(如在 Windows 上的 MySQL Workbench)可以访问虚拟机中的 MySQL 服务器,需要将 bind-address
改为虚拟机的 IP 地址(用ifconfig获得) 或 0.0.0.0
(表示监听所有网络接口的连接请求)。
修改完成后 重启mysql
sudo /etc/init.d/mysql restart
现在,还需要创建一个新用户去连接图形化工具而不能用”root"连接
创建一个新用户并授予其权限的过程如下:
1. 连接到 MySQL 服务器
首先,使用 MySQL 的 root 用户登录到 MySQL 服务器。可以通过以下命令在终端(Linux 虚拟机中)登录:
mysql -u root -p
然后输入 root 用户的密码。
2. 创建一个新用户
使用以下命令创建一个新用户,并指定从哪里允许该用户连接。例如,如果你希望新用户可以从你的 Windows 主机(假设 IP 地址为 192.168.xxx.xxx
)连接到 MySQL 服务器,可以这样做:
CREATE USER 'newuser'@'192.168.xxx.xxx' IDENTIFIED BY 'password';
这里,newuser
是用户名,password
是该用户的密码。
如果你希望该用户能够从任何主机连接,可以使用通配符 %
:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
3. 授予权限
给新用户授予所需的权限。比如,如果你想授予新用户对某个数据库的所有操作权限:
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'192.168.xxx.xxx';
如果你希望授予新用户对所有数据库的所有操作权限:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'192.168.xxx.xxx';
授予权限后,需要刷新权限表以使更改生效:
FLUSH PRIVILEGES;
此时,就可以在图形化工具里连接了
Host处填虚拟机的ip地址,Port接口默认就行,Username就是刚刚创建的新用户名;