运维知识点回顾

一  、mysql部分

       1.修改mysql数据库的root用户密码:

知道密码的情况下修改密码:

     mysqladmin -uroot -predhat password westos

忘记密码的情况下修改密码:

  • systemctl stop mariadb.service 
  • mysqld_safe --skip-grant-tables
  • mysql            ## 重新打开一个shell,输入mysql即可免密登陆
  • use mysql;
  • update mysql.user set password=password('westos') where user='root;
  • flush privileges;
  • exit
  • ps -aux | grep mysql     &&   kill   -9   10478(先杀掉跳过授权表的进程)  &&  kill -9 10624(mysql服务启动后的进程)
  • systemctl start mariadb

       2. 创建用户和删除用户:

create user terry@localhost identified by '123';        

drop user terry@localhost;

      3.为用户授权和解除用户授权:

grant select  on mysql.* to terry@localhost;

show grants for terry@localhost;             ## 查看某用户的权限

revoke select on mysql.* from terry@localhost;

      4. 数据库的查询:

show databases;      ## 查看都有那些库

use mysql;               ##  进入mysql这个库

show tables;            ## 进入某个库后,查询该库中有那些表

desc user;               ##  查看mysql库中的user表的数据结构,如字符个数,字符类型。

select  host,user,password  from  mysql.user;    ## 查看user表中的host、user、password三项的内容。

    5. 数据库创建类:

create database school;           ##  创建名为school的库

create table course ( English varchar(50) not null, math varchar(50) not null, PE varchar(50) not null);   ## 在school库中创建一个名为course的表,该表中有English、math、PE三项内容,每项的内容最多容纳50个字符且不能为空。

insert into course values ('difficult', 'easy', 'interest');               ##为school这个库中的course表格插入内容。

    6. 关于表项的操作:

alter table course rename course_xiyou          ##  修改表格course的名字为course_xiyou

alter table course_xiyou add phylosical varchar(50) not null;     ## 在表格course_xiyou中增加一个表项phylosical,默认将该项添加到表格的末尾。

alter table course_xiyou add history varchar(50) not null after English;      ## 在表格course_xiyou中增加一个表项histoty,并将该项添加到English项的后面。

alter table course_xiyou drop phylosical;           ## 删除掉course_xiyou表格中的phylosical项

insert into course_xiyou values (' ','hello',' ','');      ## 为表格course_xiyou插入新的内容

update course_xiyou set English='interest' where math='easy';      ###  更新表格course_xiyou中表项English的内容

delete from course_xiyou  where history='interest';         ## 删除某个对象的所有表项,注意:最好匹配的关键词越多越好,避免删除掉其它对象的表项。

     6.  关于数据库的删除:

drop table wife;      ## 删除表wife

 drop database family;      ## 删除库family

    7. 数据库的备份:

  • mysqldump -uroot -predhat school  > /mnt/school.sql
  • vim /mnt/school.sql    

                    

  • mysql -uroot -predhat < /mnt/school.sql

    8.数据库的排序:

select * from suzhao order by high asc;   ##根据列high的内容从小到大排序,若是字母,按照首字母从a到z由小到大

select * from suzhao order by high desc;  ## 根据列high的内容从大到小排序

select * from suzhao order by high asc, hobby asc;  ##先根据列high的内容由小到大排序,若遇到一样的则根据列hobby由小到大排序

    9.数据库的主从复制:

1)主从复制的配置:

  • 安装相关软件,搭建mysql的主从结构。
  • 在master节点上的/etc/my.cnf文件中配置mysql数据库服务器的id,并开启二进制日志,在slave节点上先配置server-id即可。
  • 开启mysqld服务, 并进行安全初始化。
  • 在master节点上创建repl用户,使该用户可在slave节点远程登陆master节点。

create user repl@'172.25.11.%' identified by 'Wsgwz1994.';

grant replication slave on *.* to repl@'172.25.11.%';

  • 在slave节点做设置,使master

change master to master_host='172.25.11.1', master_user='repl', master_password='Wsgwz1994.', master_log_file='mysqling-bin.000002', master_log_pos=1103;

  • 在slave节点开启主从复制。

start slave; 

  • 用命令show slave status\G; 检测,若如下状态说明主从复制配置成功

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

2)gtid  :和filename&pos方式一样,都是为slave定位同步数据的位置提供一个坐标,保证数据完整的同步,相比来说,gtid效率可能还没第一种方式高,但是,gtid对于运维人员来说更加友好。

3)主从复制的延时问题

     原因: 1.网络原因(不稳定、带宽不够用)

                 2. slave主机的性能不够好。

                 3. 配置方面(参数优化)

                 4. sql执行大事务,而slave传递和接收master的二进制日志事件时,是单线程的工作方式,主库可以并发写,SQL线程不可以

                 5. 从库本身的一些操作有锁和资源的冲突

                 6. 5.6版本中:多线程(并行)复制,其核心思想是:不同下的表并发提交时的数据不会相互影响,即slave节点可以用对relay log中不同的各分配一个类似SQL功能的线程,来重放relay log中主库已经提交的事务,保持数据与主库一致。

                7. 5.7版本中:基于组提交的并行复制

                8.异步复制、全同步复制、半同步方式+超时无限大

 

 

 

                                                             操作系统部分:

1.  进程相关

    1)进程的定义:

      进程实体包括: 程序、相关的数据、进程控制块。

      进程: 进程是程序在某个数据集合上的一次并发执行过程;进程实体的运行过程就是进程;进程是程序在执行过程中分配资源的基本单位。

    2) 进程的特性:

  •  动态性: 进程是进程实体执行的一次过程,是一个动态的概念; 进程因操作系统的创建而产生,因处理器的调度而执行,因操作系统的撤销而消失。
  • 并发行: 进程的引入就是为了使原来不能并发执行的程序能够并发执行。
  • 独立性: 在引入线程的计算机中,进程只作为独立分配资源的单位;在这之前,进程是一个能够独立运行,独立分配资源,独立被处理器调度的基本单位。
  • 异步性: 并发执行的诸进程之间不是独立的,他们之间或因共享资源、或因合作完成某一任务,总是存在相互制约关系。

  3).进程状态的定义:

      一个进程的生命周期可以分为一组状态,这些状态刻画了整个进程。

  4). 进程都有哪些状态:

  • 运行态:指进程已经获得了CPU资源,正在执行。
  • 就绪态: 指进程已经获得了除CPU意外其他的必要资源,一旦获得CPU,就可立即执行。
  • 阻塞态 : 指正在执行的进程由于等待某个事件发生或者完成而无法继续执行,于是暂时放弃cpu处于暂停状态。

 

2.  哪些命令可以查看磁盘IO的资源访问情况:

      top:

运维知识点回顾_第1张图片

    vmstat:

 

 

 

 

 

 

 

 

 

 

         

你可能感兴趣的:(review)