耿直boy6

Mysql高级用法

事务

四大特性
原子性:一个事务中必须要被视为是不可分割的一个最小单元,整个事务中的所有操作要么都执行成功,要么都执行失败回滚,对于一个事务,不可能只执行其中的一部分,这就是事务的原子性。
一致性:mysql数据库总是从一个一致性的状态到达另一个一致性的状态。比如在执行转账操作时,转账前两个人的总和的状态和转账后两个人的总和的状态是一致的。
隔离性:对于一个事务来说,在最终提交前,对其他的事务是不可见的。
持久性:一旦提交事务,则其所做的修改会永远的保存到数据库。即使系统崩溃,修改的数据也不会丢失

  

事务命令

查看表的创建语句,可以看到engine=innodb
use t1
show create table score

开启事务
begin
或者
start transaction

提交事务
commit

回滚事务
rollback

#注意:修改数据的命令会自动的触发事务,比如delete,update,insert

  

索引

增加删除索引

其实,primary_key就是索引,在新建表结构时规定parmary_key即可。如果要增加索引,那么请看下边:
增加索引
ALTER TABLE `student` ADD IDNEX aaa(`class_id`)  #添加普通索引
删除所有
drop index aaa on student

加/不加索引--时间测试

# 往数据库增加100000条数据
from pymysql import connect
def main():
    conn=connect(host='localhost',port=3306,user='root',password='',database='t1',use_unicode=True)
    cursor=conn.cursor()
    for i in range(100000):
        cursor.execute("insert into test_index value('ha-%d')"%i)

    conn.commit()

if __name__ == '__main__':
    main()

  

# linux下执行操作
use t1 set profiling=1 #开启时间检测
select * from test_index where title='ha-99999'
show profiles; #查询结果为0.28s
create index title_index on test_index(title(10)); #为表test_index的字段title增加索引

select * from test_index where title='ha-99999'
show profiles; #查询结果为0.07s

  

账户管理

# 增加用户权限
增加一个用户,只可以访问t1表中的 “查”功能 mysql -u root -p #登录root用户 use mysql #mysql中的user表是数据库的权限设置 select host,user from user #查看所有用户的权限

 

grant select,insert on t1.* to laowang@localhost identified by '123456'  #创建laowang用户密码为123456
quit

mysql -u laowang -p   #登录laowang用户
123456  #输入密码
select * from class    #成功
insert into class(caption) values('九年级三班')   #成功
update class set name='三年级二班' where caption=‘三年二班’  #失败

# 删除用户及权限
drop user laowang@localhost   #删除laowang这个用户及权限
select host,user from user  #查看,没有了老王用户

  

 

 

主从同步

配置主从同步

#配置主从同步步骤:
1.在主服务器上,必须开启二进制日志机制和配置一个独立的ID
2.在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号
3.在开始复制进程前,在主服务器上记录二进制文件的位置信息
4.如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用mysqldump导出数据库,或者直接复制数据文件)
5.配置从服务器要连接的主服务器的IP地址和登陆授权,二进制日志文件名和位置


#简而言之版步骤:  #主服务器为ubantu,从为windows
1.备份主服务器数据到从服务器; #首先进行数据库备份,再在从服务器上进行还原数据库
 2.给主服务器设置一个id值;

 3.给从服务器设置id值;

 4.设置主服务器的日志文件

 5.设置从服务器从哪里读取日志文件
链接:22世纪人工智能/数据库/课件/Python高级-全部(html版)/19day/主从.html

 

数据库备份与恢复

备份

mysqldump -uroot -p 数据库名称> python.sql

#按提示输入mysql密码



恢复

连接mysql,创建新的数据库

退出连接,执行如下命令

mysql -uroot -p 新数据库名称 python.sql

#按提示输入mysql密码

  

 

posted on 2019-06-15 21:53  猫巴  阅读(831)  评论(0编辑  收藏  举报

导航

原文:https://www.cnblogs.com/djfboai/ 版权声明:本文为博主原创文章,转载请附上博文链接!