最近初学mysql数据库,在Linux上安装了的mysql.
然后看到教程上说,连接mysql服务器的命令为:
mysql [-h host_name] [-u user_name] [-p password]
于是就要试一下了
首先试了mysql -h localhost -u root -p 和 mysql -h 127.0.0.1 -u root -p,都是正常的连接成功了,于是安心的笑了笑,这教程果然没骗我,哈哈。
然后又试了一下这个
mysql -h 222.20.***.*** -u root -p (我的IP地址打码了,在学校很爽,的每人都有一个C类地址)
然后显示的是这个信息
ERROR 2003 (HY000): Can't connect to MySQL server on '222.20.***.***' (111)
当然也是我打了码的。
我这人就是命犯太极,不搞清楚这个就是不会罢休,于是就各种百度
然后就试了下面这个改权限的东西
grant all on * root@'%' identified by '*********';
flush privileges;
都没有问题,成功的修改了权限,然后再试
mysql -h 222.20.***.*** -u root -p
还是同样的错误
ERROR 2003 (HY000): Can't connect to MySQL server on '222.20.***.***' (111)
于是我就想不通了,自己新建了个用户叫zorro,重复了上面的工作,然后再试,还是不行。
我想我自己的主机上不能用自己的IP地址连接数据库的话,别的主机上能不能连接的上呢。
求大神详细解答指导,本人在数据库方面绝对菜鸟,希望有高手指点一下啊。
参考我们开发调试的一个脚本,把 ### ~~~换成自己的信息就行
#!/bin/bash
login=" -uroot -D mysql -e"
createuser="insert user(Host,User,Password) values ('localhost','###', password('~~~'));"
grantuser="grant all privileges on ~~~.* to ### identified by '###'"
mysql ${login} "${createuser}"
mysql ${login} "flush privileges"
echo 'auth user'
mysql ${login} "${grantuser}"
mysql ${login} "flush privileges"
#import database
echo 'import schema'
mysql --default-character-set=utf8 -uroot -D mysql -e "source ##.sql"