其实对于mysql基础的东西,我看过2遍了,可是,由于用得很少,还不怎么熟悉,再加上没对它进行好好地深入探索,导致再次用的时候总是会遇到些问题。所以,我决定,以后,学习mysql便不再停留在简单的会语句的基础上了,我的目标是:
1.对每个语句都进行测试
2.对所有有可能的情况都进行测试
3.深入了解各项配置对mysql的影响。
登录语句:Mysql –h主机名/IP –u用户名–p密码
在本机登录可写成:Mysql –u用户名–p密码
一般情况下,在本机用mysql –u**-p**这样的形式登录是不会有问题的。
如果加上-h参数,就要注意了哦!
1.数据库允许从该远程主机连接过来。
意思就是说,用户拥有对该库的一些权限,并可以从某远程IP连接过来
GRANT ALL ON dbname.* TO abc@192.168.1.10 IDENTIFIED BY “123456”
授权abc用户对dbname数据库拥有(ALL)权限,允许用户从192.168.1.10机器上用密码123456登录。
可以用以下语句来查看授权信息
USE mysql;
SELECT host,user,password FROM user;
如果已经有授权,可以用更新表的方法来进行修改。
UPDARE USER SET host=’%’ WHERE user=’abc’;
这里是授权成,abc用户可以成任意主机登录数据库。
2.修改mysql配置文件 my.cnf使其监听本机实际的ip
即:在[mysqld]段修改
Bind-address=192.168.1.10
重新启动mysql,用netstat –tulnp |grep 3306可以查看,主机监听的地址已经改变了。
如果没有监听对应的ip,用mysql –h主机ip –uabc –p123456这样的形式,登录会提示失败。-h后的主机ip必须在监听的范围内
注意:在数据库中修改了关于权限方面的东西必须执行flush privileges命令才能使修改起效。