发布时间:2024-05-24 10:01
以Ubuntu 20.04 为例,首先你需要配置服务器,mysql安装请参照另一篇文章:
更改配置文件,重启服务!
1.cd /etc/mysql/mysql.conf.d
2.sudo vi mysqld.cnf 找到43行左右,加 # 注释
# bind-address = 127.0.0.1
(或者可以将,127.0.0.1更改为:0.0.0.0)
3.保存退出
4.sudo service mysql restart
5.进入mysql修改用户表host值
use mysql;
update user set host=\'%\' where user=\'root\';
6.刷新权限
flush privileges;
(其实新版本,无需刷新,但是刷一下总归是好的,能解决不必要的麻烦)
2.添加授权用户
1. 用root用户登录mysql
mysql -u root -p
2. 添加用户 % 表示自动选择可用IP
CREATE USER \'username\'@\'host\' IDENTIFIED BY \'password\';
3. 权限管理
# 增加权限
grant 权限列表 on 库.表 to \"用户名\"@\"%\" with grant option;
//注意:新版本无需字段:identified by“密码”
//如果表示库下全部表:库.*
//如果表示所有库下全部表:*.*
//如果表示多个库和表:a.b,c,d
//with grant option这一句表示:可以给下级分配已有权限
# 删除权限
revoke insert,update,select on 库.表 from \'user\'@\'%\';
4. 刷新权限
flush privileges;
5. 删除用户
drop user \"用户名\"@\"%\"
#权限列表
all privileges 、select 、insert ,update,delete,alter等。
库.表 : *.* 代表所有库的所有表
1. 创建用户
mysql>create user \'yym\'@\'%\' identified by \'123\';
2. 添加授权用户yym,密码123,对所有库的所有表有所有权限
mysql>grant all privileges on *.* to \'yym\'@\'%\' with grant option;
mysql>flush privileges;
3. 添加用户duty,密码123,对text库中所有表有查看,插入权限
mysql>grant select,insert on text.* to \'duty\'@\'%\' with grant option;
mysql>flush privileges;
4. 删除yym用户的删除权限
mysql>revoke delete on *.* from \"yym\"@\"%\";
5. 删除用户duty
drop user \"duty\"@\"%\";
1.首先熟悉一下pymysql使用流程
2.Pycharm架构
import pymysql
database = {
\"host\": \"180.76.***.***\",
\"port\": 3306,
\"user\": \"yym(上文创建的用户)\",
\"password\": \"123456(这里的密码,不是服务器密码,而是你数据库密码)\",
\"database\": \"text(指定的数据库)\",
\"charset\": \"utf8\"
}
db = pymysql.connect(**database) //双星合参,不认识的百度星号传参
cur = db.cursor()
try:
name_stu=input(\"输入学生姓名\")
sql = \"update cls set score=%s where name=%s;\"
cur.execute(sql,[1000,name_stu])
db.commit()
except Exception as e:
print(e)
db.rollback()
cur.close()
db.close()
#至此,一个Pycharm数据库操作实例结束,如何开启3306端口,我在这篇文章已经写过了:开启Mysql 3306端口远程访问.