mysql中查看虚拟环境_进程、虚拟环境、mysql

ICMP协议 ---> ping使用的

查看进程 ps

ps [options]

支持的命令格式

unix格式,如:-h -e

BSD格式,如:a,x,u

GNU长格式,如: --help

选项

#ps

PID   TTY         TIME         CMD

28019 pts/4     00:00:00       ps

83674 pts/4     00:00:00       bash

pid   终端  当前命令占用cpu的时间  命令

a 所有的终端

x 包括不连接终端的进程(系统自动开启的)

u 显示进程详细信息

f 显示进程树

k 指定排序方式 ,默认是递增,如果想递减,则需要在排序的字段上加上-

ps aux -k%cpu

o 指定显示的属性,不能跟u同时使用,多个属性用,分隔

L 获取支持的选项,

-L 显示线程

-e 相当于 ax

-f 显示详细信息,相当于u

-F 显示更详细信息

-H 显示树状结构

-U username 获取指定的用户信息

常用选项: aux -ef -eFH

ps输出属性

VSZ 虚拟内存(程序认为可以获取到的)

RSS 实际内存

psr cpu的编号

STAT 状态

%cpu cpu的占用率

%mem 内存的占用率

根据名称来查询进程

pidof name

#pidof python

1169 825

系统工具

uptime

#uptime

09:17:40   up 1 day, 22:19,    5 users,     load average: 2.14, 1.59, 0.84

当前时间    当前服务器运行时长  当前的在线用户数    cpu的负载 1分钟 5分钟 15分钟

cpu平均负载:在特定时间之内cpu运行的平均进程数,不超过cpu核心数的2倍认为为良好

top

选项:

​ -d 刷新时间

​ -b 显示所有的信息

​ -n #指定刷新#次后退出

首部信息

uptime信息。按 l:显示与隐藏

tasks :进程总数,运行,睡眠数,停止数,僵尸进程。 t

cpu信息:

%Cpu(s): 0.3 us,  4.6 sy, 0.0 ni,  95.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

用户空间   系统空间  nice值    空闲       等待    硬中断    软中断  虚拟机偷走时间

内存信息。m

cpu分别显示 。1(数字)

排序:

默认是cpu的占用率。P

M:内存占用率

T: cpu的占用时间

退出:q

修改刷新频率:s,默认是3秒

杀死进程:k,默认是第一个

W 保存文件

htop

在epel源中

性能分析

free

-b 字节

-k kb

-m mb

-g gb

-h 人类易读方式

-c # 刷新次数

vmstat

vmstat [options] [delay [count]]

#vmstat 1 3 每秒刷新一次,刷新3次

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

1  0  37028 162708      0 808588    0    0     8     6   34   34  0  2 97  0  0

procs:

r:正在运行的进程个数

b:阻塞队列的长度

memory:

swap: 虚拟内容大小

free: 空闲物理内存的大小

buff:用于buff的大小

cache:用户cache的大小

swap:

si:从磁盘交换到内存的数据速率(kb/s)

so: 从内存交换到磁盘的数据速率(kb/s)

io:

bi: 从磁盘读取到系统的速率(kb/s)

bo: 从系统写入到磁盘的速率(kb/s)

system:

in:中断频率

cs:进程之前切换的频率

cpu:

us

sy

id

wa

st

iostat

查看磁盘读写速度

iostat 1 10 刷新频率与次数

dstat 查看所有

-c cpu

-d 硬盘

-m 内存

-n 网络

-p 进程

-r io请求

-s swap

--top-cpu 显示占用cpu最多的进程

--top-io 显示占用io最多的进程

--top-mem 显示占用内存最多的进程

--tcp 显示tcp的信息

--udp 显示udp的信息

iftop 显示网卡的流量

进程的管理工具

kill:向进程发送信号,实现对进程的管理,每个信号,对应不同的值,对应不同的含义,不区分大小写

查询可用信号:kill -l

常用信号:

sighub 不需要关闭程序,重新加载配置文件

sigint 终止进程,相当于ctrl+c

sigkill 强制杀死进程

sigterm 终止正在运行的进程

sigcont 继续运行

sigstop 后台休眠

按照pid: kill-n pid

按照名称:killall -n name

按照名称:pkill -n name

作业管理

前台作业:一直占用终端的作业

后台作业:不占用当前的终端

让作业运行于后台:

ctrl+z 对于启动中

command & 也会输出到终端

脱离终端:

nohup command &>/dev/null &

screen

-list 查看所有的screen窗口

-r 进入

安全

防火墙

绿盟、深信服、启明星辰、飞塔、思科、华为、华三等等

4表5链

iptables -L 查看 防火墙策略

iptables -F 清空 防火墙

systemctl disable firewalld 开机并启动

systemctl stop firewalled

selinux

一般将其关闭:进入配置文件,修改SELINUX=disabled。

配置文件 /etc/selinux/config

setenforce 0 临时生效

getenforce 查看selinux的状态

Linux中编译后的软件如果想删除,直接删除编译生成到目录就可以

虚拟环境

安装:

pip3 install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple

创建虚拟环境:

virtualenv --no-site-packages envdir_name

--no-site-packages 创建一个全新的python环境

--python 指定以哪个python来创建虚拟环境

进入虚拟环境:

source envdir/bin/activate

退出虚拟环境:

deactivate

将Windows中的项目放在Linux中运行,确保环境一致:

在windows上执行如下命令:

#将windows上安装的包做快照

pip freeze > requirement.txt

#将requirement.txt发送到linux上

#切换虚拟机

pip install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

virtualenvwrapper

为了解决虚拟环境管理的问题,因为虚拟环境可以在任何目录下创建

1. 安装

pip3 install virtualenvwrapper -i https://pypi.tuna.tsinghua.edu.cn/simple

2.修改文件

vim ~/.bashrc

export WORKON_HOME=/envdir    # 设置virtualenv的统一管理目录

export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   # 添加virtualenvwrapper的参数,生成干净隔绝的环境

export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3      # 指定python解释器

source /opt/python36/bin/virtualenvwrapper.sh  # 执行virtualenvwrapper安装脚本

3. 加载~/.bashrc

source ~/.bashrc

4.创建环境

mkvirtualenv django11 创建并切换

5.进入虚拟环境

workon name

6.切换到当前虚拟环境的文件夹

cdvirtualenv

7.切换到当前虚拟环境的第三方包的文件夹

cdsitepackages

8.退出

deactivate

9.列出当前管理的虚拟环境

lsvirtualenv

10.列出当前虚拟环境的第三方包

lssitepackages

11.删除虚拟环境

rmvirtualenv 必须要退出才能删除

mysql

mariadb是mysql的分支,可以直接在官方网站下载。

下载:

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar

解压:

tar xf MySQL-5.6.44-1.el7.x86_64.rpm-bundle.tar

安装:

yum install -y *.rpm

默认安装位置:/var/lib/mysql,配置文件/etc/my.cnf

为mysql系统用户增加读写权限chown mysql -R /mydata/mysql

其中mydata目录是mysql数据存储位置,可在配置文件中查看与修改。

启动服务systemctl start mysqld

报错信息:

2019-08-30T11:18:22.976635Z 0 [Warning] Can't create test file /mydata/mysql/localhost.lower-test

2019-08-30T11:18:22.976687Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.27) starting as process 2788 ...

2019-08-30T11:18:22.980289Z 0 [Warning] Can't create test file /mydata/mysql/localhost.lower-test

2019-08-30T11:18:22.980338Z 0 [Warning] Can't create test file /mydata/mysql/localhost.lower-test

原因:selinux

解决办法:setenforce 0

重置密码

日志文件/var/log/mysqld.log

默认密码:

grep 'pass' /var/log/mysqld.log

#初识化密码

mysql_secure_installation

输入root密码

是否要修改密码

是否要修改root密码(大小写、数字、特殊字符)

是否要删除匿名用户

是否禁止root远程登录

是否要删除test数据库

是否要刷新表的权限

密码校验规则

设置密码的校验规则

mysql>set global validate_password_policy=0;

0 校验级别最低,只校验密码的长度,长度可以设定

1 必须包括大写字母、小写字母、数字、特殊字符

2 必须满足上面两条,并追加,对于密码中任意连续的4个(或者4个以上) 字符不能是字典中的单词

mysql>set global validate_password_length=3; 修改密码的最短长度

创建用户

create user 'username'@'ip' identified by 'password';

全部ip的话则是%

查看权限

show grants;

用户授权

mysql>grant all on *.* to 'root'@'%' identified by '1234';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql主从

主服务器上配置如下,进入配置文件/etc/my.cnf

server-id=1 设置id

log-bin=/mydata/log/master-bin 启动binlog日志

sync_binlog = 1 确保主从复制事务安全

主服务器执行如下sql

mysql>grant replication slave on *.* to 'slave'@'192.168.21.131' identified by '1234';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.01 sec)

show master status\G

从服务配置如下:

server-id =12

relay_log =/mydata/log/slave-log

sync_binlog = 1

read-only=ON

从服务器执行如下sql

CHANGE MASTER TO

MASTER_HOST='master2.example.com',

MASTER_USER='replication',

MASTER_PASSWORD='password',

MASTER_PORT=3306,

MASTER_LOG_FILE='master2-bin.001',

MASTER_LOG_POS=4,

MASTER_CONNECT_RETRY=10; #监控主服务器的时间

#连接主库

change master to master_host='192.168.21.128',master_user='slave',master_password='1234';

#启动进程

start slave;

#查看状态

show slave status\G

问题:

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

解决办法:

rm -rf /mydata/mysql/auto.cnf

systemctl restart mysqld

mysql备份与恢复

备份

mysqldump

锁表

备份特别慢,适用于数据量较小

不可以做增量备份

单线程

-A, --all-databases 所有的库

-B 指定备份的库

—F 备份前刷新日志

--flush-privileges 刷新授权表

-p 密码

-u 用户

-P 端口

触发器

存储过程和存储函数

## 备份

mysqldump -uroot -S /mydata/mysql/mysql.sock -A -p > mysql.sql

## 恢复一

直接在数据库里面source mysql.sql文件

## 恢复二

mysql -uroot -p 

xtrabackup

多进程

支持增量备份

锁行

安装

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm # 安装yum仓库

yum install -y percona-xtrabackup-24

--target-dir=name # 指定备份生成的目录

--backup 备份

--prepare 准备

--databases=name    filtering by list of databases.

--databases-file=name 配置文件

创建一个用户

mysql>create user 'backup'@'localhost' identified by 'backup';

Query OK, 0 rows affected (0.00 sec)

mysql>grant reload,lock tables,process,replication client on *.* to 'backup'@'localhost';

Query OK, 0 rows affected (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.00 sec)

备份

xtrabackup --backup --target-dir=/mydata/backup/base -ubackup -pbackup --socket=/mydata/mysql/mysql.sock

### 看得如下信息,代表成功

xtrabackup: Transaction log of lsn (5480853) to (5480862) was copied.

190902 09:25:09 completed OK!

恢复

准备文件

xtrabackup --prepare --target-dir=/mydata/backup/base

InnoDB: Starting shutdown...

InnoDB: Shutdown completed; log sequence number 5482536

190902 09:28:12 completed OK!

恢复文件

cd /mydata/backup/base

cp -rf hello /mydata/mysql/

chown mysql.mysql /mydata/mysql/hello/ -R

恢复全部文件

xtrabackup --copy-back --target-dir=/mydata/backup/base

chown mysql.mysql * -R

增量备份

xtrabackup --backup --target-dir=/mydata/backup/t1 --incremental-basedir=/mydata/backup/base -uroot -p --socket=/mydata/mysql/mysql.sock

--incremental-dir 全备的路径

xtrabackup --backup --target-dir=/mydata/backup/t2 --incremental-basedir=/mydata/backup/t1 -uroot -p --socket=/mydata/mysql/mysql.sock

--incremental-basedir应该是上一次的增量备份目录

xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base

恢复(只能全部删除以后再恢复)

xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base

xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base --incremental-dir=/mydata/backup/t1

xtrabackup --prepare --apply-log-only --target-dir=/mydata/backup/base --incremental-dir=/mydata/backup/t2

xtrabackup --copy-back --target-dir=/mydata/backup/base

chown mysql.mysql * -R

systemctl restart mysqld

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值