Linux sql 笔记<1>

mysql 主从复制的 工作原理

从库生成两个线程,一个I/O线程,一个SQL线程;

i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;

主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;

SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;

 

mysql 读写分离的 工作原理

读写分离就是在主服务器上修改,数据会同步到从服务器,

从服务器只能提供读取数据,不能写入,实现备份的同时也实现了数据库性能的优化,以及提升了服务器安全。

 

mysql 数据备份

库 mysqldump-hhostname-uusername-ppassword databasename>backupfile.sql

表 mysqldump-hhostname-uusername-ppassword databasename specific_table1 specific_table2>backupfile.sql

同时多个数据库 mysqldump-hhostname-uusername-ppassword –databases databasename1 databasename2 databasename3>multibackupfile.sql

服务器上所有数据库 mysqldump –all-databases>allbackupfile.sql

 

mysql 还原数据

mysql-hhostname-uusername-ppassword databasename<backupfile.sql

 

mysql 用户管理

新增用户user1,并设置密码为123456

mysql> grant all on *.* to 'user1'@'127.0.0.1' identified by '123456';

#创建user1用户并授予其所有权限“*.*”(通配符)

#第一个*:表示所有的数据库

#第二个*:表示所有的表

#127.0.0.1表示来源IP,指的只有这个IP可以连接;'%':代表所有的ip

#identified by 设置密码

授权管理

 

mysql> grant SELECT,UPDATE,INSERT on test.* to 'user2'@'192.168.3.74' identified by '123456';

 

创建user2用户,并指定test的数据库,权限:select、update、insert

 

 

待续......

 

posted @ 2019-11-07 19:06  _Alexis  阅读(104)  评论(0编辑  收藏  举报