|
@@ -174,7 +174,7 @@ MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行
|
|
|
alter user 'root'@'localhost' identified by '123456';
|
|
alter user 'root'@'localhost' identified by '123456';
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
- > 说明:MySQL较新的版本默认不允许使用弱口令作为用户口令,所以我们通过上面的前两条命令修改了验证用户口令的策略和口令的长度。事实上我们不应该使用弱口令,因为存在用户口令被暴力破解的风险。近年来,攻击数据库窃取数据和劫持数据库勒索比特币的事件屡见不鲜,要避免这些潜在的风险,最为重要的一点是不要让数据库服务器暴露在公网上(最好的做法是将数据库置于内网,至少要做到不向公网开放数据库服务器的访问端口),另外要保管好`root`账号的口令,应用系统需要访问数据库时,通常不使用`root`账号进行访问,而是创建其他拥有适当权限的账号来访问。
|
|
|
|
|
|
|
+ > **说明**:MySQL较新的版本默认不允许使用弱口令作为用户口令,所以我们通过上面的前两条命令修改了验证用户口令的策略和口令的长度。事实上我们不应该使用弱口令,因为存在用户口令被暴力破解的风险。近年来,攻击数据库窃取数据和劫持数据库勒索比特币的事件屡见不鲜,要避免这些潜在的风险,最为重要的一点是不要让数据库服务器暴露在公网上(最好的做法是将数据库置于内网,至少要做到不向公网开放数据库服务器的访问端口),另外要保管好`root`账号的口令,应用系统需要访问数据库时,通常不使用`root`账号进行访问,而是创建其他拥有适当权限的账号来访问。
|
|
|
|
|
|
|
|
再次使用客户端工具连接MySQL服务器时,就可以使用新设置的口令了。在实际开发中,为了方便用户操作,可以选择图形化的客户端工具来连接MySQL服务器,包括:
|
|
再次使用客户端工具连接MySQL服务器时,就可以使用新设置的口令了。在实际开发中,为了方便用户操作,可以选择图形化的客户端工具来连接MySQL服务器,包括:
|
|
|
|
|
|
|
@@ -1199,7 +1199,7 @@ insert into tb_emp values
|
|
|
# 1. 创建数据库连接对象
|
|
# 1. 创建数据库连接对象
|
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
|
database='hrs', charset='utf8',
|
|
database='hrs', charset='utf8',
|
|
|
- user='root', password='123456')
|
|
|
|
|
|
|
+ user='yourname', password='yourpass')
|
|
|
try:
|
|
try:
|
|
|
# 2. 通过连接对象获取游标
|
|
# 2. 通过连接对象获取游标
|
|
|
with con.cursor() as cursor:
|
|
with con.cursor() as cursor:
|
|
@@ -1231,7 +1231,7 @@ insert into tb_emp values
|
|
|
no = int(input('编号: '))
|
|
no = int(input('编号: '))
|
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
|
database='hrs', charset='utf8',
|
|
database='hrs', charset='utf8',
|
|
|
- user='root', password='123456',
|
|
|
|
|
|
|
+ user='yourname', password='yourpass',
|
|
|
autocommit=True)
|
|
autocommit=True)
|
|
|
try:
|
|
try:
|
|
|
with con.cursor() as cursor:
|
|
with con.cursor() as cursor:
|
|
@@ -1263,7 +1263,7 @@ insert into tb_emp values
|
|
|
loc = input('所在地: ')
|
|
loc = input('所在地: ')
|
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
|
database='hrs', charset='utf8',
|
|
database='hrs', charset='utf8',
|
|
|
- user='root', password='123456',
|
|
|
|
|
|
|
+ user='yourname', password='yourpass',
|
|
|
autocommit=True)
|
|
autocommit=True)
|
|
|
try:
|
|
try:
|
|
|
with con.cursor() as cursor:
|
|
with con.cursor() as cursor:
|
|
@@ -1291,7 +1291,7 @@ insert into tb_emp values
|
|
|
def main():
|
|
def main():
|
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
|
database='hrs', charset='utf8',
|
|
database='hrs', charset='utf8',
|
|
|
- user='root', password='123456')
|
|
|
|
|
|
|
+ user='yourname', password='yourpass')
|
|
|
try:
|
|
try:
|
|
|
with con.cursor(cursor=DictCursor) as cursor:
|
|
with con.cursor(cursor=DictCursor) as cursor:
|
|
|
cursor.execute('select dno as no, dname as name, dloc as loc from tb_dept')
|
|
cursor.execute('select dno as no, dname as name, dloc as loc from tb_dept')
|
|
@@ -1334,7 +1334,7 @@ insert into tb_emp values
|
|
|
size = int(input('大小: '))
|
|
size = int(input('大小: '))
|
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
con = pymysql.connect(host='localhost', port=3306,
|
|
|
database='hrs', charset='utf8',
|
|
database='hrs', charset='utf8',
|
|
|
- user='root', password='123456')
|
|
|
|
|
|
|
+ user='yourname', password='yourpass')
|
|
|
try:
|
|
try:
|
|
|
with con.cursor() as cursor:
|
|
with con.cursor() as cursor:
|
|
|
cursor.execute(
|
|
cursor.execute(
|