如何在本地mysql中连接到虚拟机下的数据库
1.连接步骤:
- 首先开启mysql服务,service mysqld start,看到OK就可以了
- 然后用ifconfig命令查看虚拟机的IP地址,copy ip地址
- 在切换到本地的mysql客户端,新建一个连接,根据提示输入相应的内容:
- 点击确认后就可以打开了,如图所示:
2.连接过程中遇到的坑:
- 在我们连接过程中并不顺利,比如第一次连接的时候出现以下的问题:
2. 别慌,返回到我们的虚拟机下,输入service iptables status,你会发现只有22端口开放了,而我们需要的3306端口没有开放,所以我们下一步需要做的就是开放3306端口;
3. 编辑防火墙文件打开3306端口:vi /etc/sysconfig/iptables;
4. 模仿22端口开放3306端口
5. 重启防火墙,输入service iptables status 如图所示;
6. 如果在你已经授权的情况下,就可以看到成功连接上虚拟机下的MySQL了
7.此时还是没有连接成功的话,那是你的mysql没有授权,因为mysql默认情况下是禁止远程连接的,所以你只需要授权即可,以下是授权方法,选一种即可
方法一(不推荐)、本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将"localhost"改为"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
方法二、直接授权(推荐)
从任何主机上使用root用户,密码:yourpasswd(你的root密码)连接到mysql服务器:(首先登陆Linux服务器,填写下面代码即可)
[[email protected] software]# mysql -u root -proot
mysql>grant all privileges on . to ‘root’@’%’ identifiedI by ‘yourpasswd’ with grant option;
mysql>flush privileges;
操作完后切记执行以下命令刷新权限
flush privileges;
方法三:终极方法
注释bind-address = 127.0.0.1
找到mysql.cnf
把bind-address = 127.0.0.1 前面加上 #
即 #bind-address = 127.0.0.1