我是纯小白入坑,下面的流程尽可能详细:
我是使用命令提示符写的,都差不多,大差不差
首先输入mysql -u root -p,意思是登录且需要密码,也可以输入mysql -u root,这样就是不输入密码(不过是在你没有设置密码的前提下,才可以登录成功)
如果说登进去了,就进行下一步,如果登不进去,那你们就搜一搜数据库初始化吧。
然后输入select user,host from mysql.user;可以查看角色,下图除了student其他四个都是初始的角色,刚开始我们使用的就是root角色,右边的host指的是可以连接的主机(连接方),所以说初始的四个角色只能从本地连接到数据库,后面我新创建的student的host是%,%的意思就是连接方是任意的。
然后提一嘴,主机之间的连接,就是连接其他主机的mysql数据库,不能使用root,因为host只能是主机嘛这里再解释一下。所以我们需要新创建一个host为%(指什么都可以)的一个角色(这里我叫student)
下面讲怎么去创建,输入create user 'student'@'%' identified by '123456';即可创建,其中user不知道为什么不能用role去代替,我猜可能是因为设置了密码的原因。
identified by后面加的是密码
两个引号内分别是用户名和用户IP地址(%表示任意IP地址)
这样就是创建完成了,然后可以输入quit退出数据库,再mysql -u student -p试一下能不能登进来
但是就算能登进来,我们却不能使用,因为我们只创建了一个角色,我们并没有给他任何的权限,那给他权限的这个语句只能在root账号下去打代码(因为student没有grant的权限)
重新登录root(先quit出student)
我们这里直接写一下:grant all on *.* to 'student'@'%';
*.*就是数据库.表的意思,这里用*代表的是任意数据库.任意表,后面我就不说了,做到这里,就能连接上数据库了!再不行的话我就不清楚了,谢谢。