1.当你打算用 mysql -h(主机的ip地址) -u(用户名) -p 打开你的数据库时报错host ‘’ is not allowed to connect to this mysql server。
原因:我们自己安装的mysql是不允许远程登录的。
2.解决方法:
第一步:mysql -u(用户名) -p
第二步:输入use mysql;
第三步:输入update user set host = ‘%’ where user = ‘root’;
第四步:输入FLUSH PRIVILEGES;(flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库 (MySQL数据库的内置库)中提取到内存里。 MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。 通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。 而不必冒太大风险。 mysql 修改密码后,注意flush privileges。 mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。)
3.之后进行:mysql -h(主机的ip地址) -u(用户名) -p 就可以连接上了。(ip地址如何查询:windows +R ,输入cmd,命令行输入:ipconfig)红箭头所指向的就是自己的ip地址
4.连接上后,检测例子:
import pymysql
#建立连接
conn = pymysql.connect(
host="你的IP地址",
user="root", #用户名
passwd="root",#用户密码
db ="test")#数据库名
#创建游标,默认是元组型
cursor = conn.cursor()
sql = "select * from student"#数据库中表的名
cursor.execute(sql)
res = cursor.fetchall()
print(res)
cursor.close()
conn.close()