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密码
相关文章
相关标签/搜索