我的两台计算机通过局域网连接。 计算机 1(192.168.0.56) 包含以下程序
import MySQLdb
db= MySQLdb.connect("localhost","root","pass","testDB")
cursor=db.cursor()
cursor.execute("DROP TABLE IF EXISTS USER")
sql="""CREATE TABLE USER(
ID INT(12) NOT NULL AUTO_INCREMENT,
USERNAME VARCHAR(20) NOT NULL,
PASSWORD VARCHAR(20) NOT NULL,
PRIMARY KEY (ID)
)"""
cursor.execute(sql)
db.close()
从另一台计算机(192.168.0.4)我想在表中插入值
import MySQLdb
db= MySQLdb.connect("192.168.0.56","root","pass","testDB")
cursor=db.cursor()
sql="""INSERT INTO USER(USERNAME,
PASSWORD)
VALUES('admin','12345'),
('abc','123'),
('user3','5687')"""
try:
cursor.execute(sql)
db.commit()
print ("Data is inserted into database")
except:
db.rollback()
print ("Data cann't be updated")
db.close()
错误:访问被拒绝 root@192.168.0.4
Try to use port
as,
db= MySQLdb.connect("192.168.0.56:8080","root","pass","testDB")
您应该创建一个新用户,该用户可以使用主机 192.168.0.4 或 % 访问此数据库,因为默认情况下只能从本地主机使用 root。
该错误意味着允许您从计算机 192.168.0.4 连接该数据库。您需要向根用户 @ 192.168.0.4 授予访问权限
要确认,请检查有权使用查询登录数据库的当前用户和主机:
SELECT `Host`, `User` FROM `mysql`.`user`;
如果要向其他用户授予访问权限,请在 sql 中使用GRANT
命令作为:
GRANT ALL PRIVILEGES ON <database_name> TO <user>@<ipadress>
这应该可以解决您的问题
您尚未添加端口,因此请先尝试添加端口。
连接mysql的语法是
MySQLdb.connect(host,userName,passWord,databaseName,port)
仍然如果它无法访问那么,
你需要将mysql服务器访问设置从localhost更改为"*"。
请看以下链接:
http://www.cyberciti.biz/faq/mysql-connection-from-other-machine/