1、MySQL用户账户管理
1、开启MySQL远程连接
1、sudo -i
2、cd /etc/mysql/mysql.conf.d/
3、vi mysqld.cnf
#bind-address = 127.0.0.1
注释掉此行
4、/etc/init.d/mysql restart
2、添加授权用户
1、用root用户登录MySQL
mysql -uroot -p123456
2、授权
grant 权限列表 on 库.表 to "用户名"@"%" identified by "密码" with grant option;
权限列表 :all privileges、select、update
库名.表名:*.* 、库名.*
3、添加授权用户tiger,密码123,对所有库的所有表有所有权限
grant all privileges on *.* to "tiger"@"%" identified by "123" with grant option;
4、添加授权用户rabbit,密码123,对db4库有查询权限
grant select on db4.* to "rabbit"@"%" identified by "123" with grant option;
2、事务和事务回滚
1、定义 :一件事从开始发生到结束的整个过程
2、事务基本操作
1、开启事务 :mysql>begin;
2、终止事务 :mysql>commit; 或者 rollback;
3、示例
1、背景 :你到银行自动取款机上给你朋友转5000
2、建表(bankUser)
create table bankUser(
name varchar(20),
money decimal(20,2)
);
insert into bankUser values("有钱人",20000),("穷人",2);
3、转账过程
点击转账按钮
mysql>begin;
mysql>update bankUser set money=money+5000 where name="有钱人";
mysql>update bankUser set money=money-5000 where name="穷人";
mysql>commit; 或者 rollback;
4、注意
事务机制只针对于表记录操作(增删改)有效,对于库和表操作无效
3、与Python交互
1、python3 :pymysql(模块名)
python2 :MySQLdb(模块名)
2、安装
1、在线 :sudo pip3 install pymysql
sudo pip install mysql-python
2、离线 :pymysql-0.9.1.tar.gz
$ tar -xf pymysql-0.9.1.tar.gz
$ cd pymysql0.9.1
$ sudo python3 setup.py install
3、pymysql使用流程
1、数据库连接对象 :db = pymysql.connect(...)
2、游标对象 :cur = db.cursor()
3、执行命令 :cur.execute('SQL命令')
4、提交 :db.commit()
5、关闭游标 :cur.close()
6、断开连接 :db.close()
4、pymysql.connect()参数
1、host :主机地址 host="localhost"
2、user :用户名 user="root"
3、password :密码 password="123456"
4、database :库名 database="db5"
5、charset :字符集charset="utf8"
6、port :端口 port=3306
5、数据库连接对象(db)方法
1、db.cursor() :创建游标对象
2、db.commit() :提交到数据库执行
3、db.rollback():回滚
4、db.close() :断开与数据库连接
6、游标对象(cur)的方法
1、cur.execute('SQL命令') : 执行sql命令
cur.execute(sql命令,[]) :
sql命令中所有占位都用 %s ,不用 % 补位
第二个参数一定要为列表
2、cur.close() : 关闭游标对象
3、cur.fetchone() : 取1条,元组()
4、cur.fetchmany(n): 取n条,大元组套小元组((),)
5、cur.fetchall() : 取所有查询结果,大元组套小元组((),(),(),(),)