我写了一个快速的python脚本来自动为朋友设置wordpress博客。我已经在我的OS X电脑上测试了这个脚本没有问题,但是当脚本被复制粘贴到一个linux服务器并运行时,脚本能够创建数据库,但是当它尝试创建用户并授予权限但我收到Python MySQLdb脚本在OS X上正常工作,复制到Linux服务器时权限被拒绝错误
"_mysql_exceptions.OperationalError: (1044, "Access denied for user
'root'@'XXX.XXX.XXX.XXX' to database 'livetest'")"
的脚本是:
db = MySQLdb.connect(host="ip", # your host
user="root", # username
passwd="password")
# password
# Create a Cursor object to execute queries.
cur = db.cursor()
# Select data from table using SQL query.
cur.execute("CREATE DATABASE IF NOT EXISTS " +blogshortstr)
cur.execute("GRANT ALL PRIVILEGES on " +blogshortstr +".*" + " " + "TO " +mysqluser+'@'+'ip'+ " " +'IDENTIFIED BY' + " " +mysqlpassword)
cur.execute("FLUSH PRIVILEGES")
db.commit()
db.close()
这可能是用户的权限问题。 MySQL有两种类型的用户/访问 - 本地和远程。我想,你的linux服务器试图访问另一台主机上的数据库,因此它可能没有访问 – Sergius
,但完全相同的代码连接到完全相同的MySQL服务器与完全相同的用户/密码在OS X但不是Linux的作品? –
因为你的OS X和linux系统有不同的IP地址。 –