1:设置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart
2:登录mysql数据库:mysql -u root -p
mysql>use mysql
查询host值:
mysql>select user,host from user
如果没有"%"这个host值,就执行下面这两句:
mysql>update user set host='%' where user='root'
mysql>flush privileges
或者也可以执行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx'
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;
举例:
任意主机以用户root和密码mypwd连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION
mysql>flush privileges
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION
mysql>flush privileges
安装了MySQL却无法在其他设备上访问,是什么情况呢? 可能发生的错误1: 可能的原因,未启动MySQL服务 使用如下命令启动 可能发生的错误2: 可能出现的情况: 1.防火墙未开放这个端口,可以使用宝塔、aliyun的安全组等方式去开放3306号端口 2.端口冲突,启动了其他的mysql服务,占用了3306端口,尝试更改为其他端口,如3307、3308等 3.配置文件的bind-address=127.0.0.1 网上能够搜索得到这种结果,但是现在的mysql的配置文件(/etc/my.cnf),里面并没有这个语句,我们在这里添加语句,并设置为0.0.0.0,允许外网访问。 4.服务未启动,使用 启动服务 可能出现的错误3: 密码不正确,修改配置文件,在配置文件(/etc/my.cnf)中,添加如下语句,并且重启mysql服务,就能跳过密码登录!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)