MySQL有几种安装方式
- 在安装之前
- 查看是否有安装Mysql:rpm -qa|grep -i mysql
- 卸载:rpm -ev 包名 --nodeps
- 查找老版留下来的mysql文件:find / -name mysql
- 一个一个删除:rem -rf xxx
- 安装mysql之前需要确保系统中有libaio依赖:yum search libaio
- 没有就安装:yum install libaio
- 源码安装
- 将安装包解压放入指定包:我开始没有使用MobaXterm工具,所以在直接进行文件拖拽的方法,压缩包会少很多东西
- 解压:tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64
- 重命名:mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql5.7
- 创建database文件,并将解压好的mysql放入其中:mkdir database ;mv mysql5.7 /usr/database;
- 添加用户组:groupadd mysql
- 添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录):useradd -r -g mysql mysql
- 创建 data目录:cd /usr/database/mysql5.7/ ;mkdir data
- 将mysql及其下所有的目录所有者和组均设为mysql: chown -R mysql:mysql /usr/database/mysql5.7/
- 配置my.cnf文件:
- [client]
- port = 3306
- socket = /tmp/mysql.sock
- [mysqld]
- init-connect=‘set names utf8’
- basedir=/usr/database/mysql5.7 #根据自己的安装目录填写
- datadir=/usr/database/mysql5.7/data #根据自己的mysql数据目录填写
- socket=/tmp/mysql.sock
- max_connections=200 # 允许最大连接数
- character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
- default-storage-engine=innodb # 创建新表时将使用的默认存储引擎*
- 初始化:/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data
- 把安装目录的目录的权限所有者改为root:chown -R root:root /usr/database/mysql5.7/
- 把data目录的权限所有者改为mysql:chown -R mysql:mysql /usr/database/mysql5.7/data/
- 启动mysql:/usr/database/mysql5.7/bin/mysqld_safe --user=mysql &
- cd /usr/database/mysql5.7/bin/
- 修改密码,初始化没有密码
- ./mysql -u root -p # 默认没有密码,直接敲回车就可以
- use mysql;
- update user set authentication_string=password('这里填你设置的密码') where user='root';
- flush privileges;
- exit;
- 配置服务,设为mysql开机启动
- cp /usr/database/mysql5.7/support-files/mysql.server /etc/init.d/mysql
- 添加服务:chkconfig --add mysql
- 显示服务列表: chkconfig --list
- 开机启动:chkconfig --level 345 mysql on
- 查看状态/启动/停止:service mysql status/start/stop
- rpm安装
-
解压:tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
-
解压后生的多个rpm包,只会用到其中的四个,依次执行下面命令
- rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
- rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
- rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
- rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm*
-
执行上面会出现问题,需要卸载相关组件:
- rpm -qa | grep postfix
- rpm -qa | grep mariadb
- rpm -ev postfix-2.10.1-7.el7.x86_64
- rpm -ev mariadb-libs-5.5.60-1.el7_5.x86_64
-
启动/停止/重启:service mysqld start/stop/restart
- yum安装
- 不要直接:yum install mysql ,这是默认yum源安装的maridb
- 直接通过:wget:https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
- 安装yum源:rpm -ivh mysql80-community-release-el7-3.noarch.rpm
- 安装:yum install mysql-community-server;yum -y install mysql-devel
- 重启/查看/停止mysql:systemctl restart/status/stop mysqld.service
- 首次登陆的密码在/var/log/mysqld.log中:grep “temporary password” /var/log/mysqld.log
- 以下步骤就是修改密码
redis安装
-
在官网上下载或者直接;wget http://download.redis.io/releases/redis-4.0.9.tar.gz
-
将压缩包解压至/usr/local/redis下:
- tar zxvf redis-4.0.9.tar.gz /usr/local
- mv redis-4.0.9 redis
- cd /usr/local/redis
-
直接在解压目录下编译:make
-
如果编译中报错就是没有安装gcc编译器;yum install -y gcc g++ gcc-c++ make
-
重新编译成功后,cd /src;然后make install;(切记,在第一次编译中有类似错误的代码,放心,那只是警告)
-
redis默认是不能后台启动的,也就是说,启动redis后的cmd界面不能做其他事了,所以我们需要配置。
-
编辑:vim redis.conf,将daemonize no 改为daemonize yes;
-
启动服务 :redis-server /usr/local/redis/etc/redis.conf
-
链接客户端:./redis.cli
-
将redis配置到服务中去:
- 新建目录:mkdir /etc/redis
- 将redis.conf启动脚本复制到以6379端口号为名的/etc/redis/6379.conf中,因为启动脚本里面的变量会读取这个名称:cp /usr/local/redis/redis.conf /etc/redis/6379.conf
- 查出redis启动脚本:find / -name redis_init_script
- 将redis的启动脚本放入到/etc/init.d/redis文件中:cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis
- 编辑vi /etc/init.d/redis;在第二行下加入以下参数,如图:
-
打开/关闭redis:service redis start/stop
-
开机/启动关闭:chkconfig redis on/off
zookeeper安装
-
官网下载上传,解压:tar zxvf zookeeper-3.4.14.tar.gz
-
重命名:mv zookeeper-3.4.14 zookeeper
-
移动到/usr/local下:cp zookeeper /usr/local/
-
复制一份 conf/ 下的zoo_sample.cfg 并改名为zoo.cfg:cp zoo_sample.cfg zoo.cfg(强调:名字必须是zoo.cfg)
-
修改zoo.cfg配置文件:
- datadir=/usr/local/zookeeper/Data/data
- dataLogDir=/usr/local/zookeeper/Data/datalog
-
原先是没有Data这个目录和里面的文件,需要自己创建:
- mkdir /usr/local/zookeeper/Data
- mkdir /usr/local/zookeeper/Data/data
- mkdir /usr/local/zookeeper/Data/datalog
-
进入bin目录启动/停止zookeeper:./zkServer.sh start/stop
-
启动1客户端;./zkCli.sh
-
配置zookeeper开机启动:
- 进入:cd /etc/rc.d/init.d
- 新增文件zookeeper:mkdir zookeeper
- 编辑:vi zookeeper:
- #!/bin/bash
- #chkconfig:2345 20 90
- #description:zookeeper
- #processname:zookeeper
- case $1 in
-
start) su root /usr/local/zookeeper/bin/
- zkServer.sh start;;
-
stop) su root /usr/local/zookeeper/bin/zkServer.sh stop;;
-
status) su root /usr/local/zookeeper/bin/zkServer.sh status;;
-
restart) su root /usr/local/zookeeper/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;; esac
- 添加可执行文件:chmod +x /etc/rc.d/init.d/zookeeper
- zookeeper启动和关闭:service zookeeper start/sotp
redis的使用
- 密码
:requirepass为访问密码参数,如图红色区域是我还没有设置密码,所以我获取的密码为空;蓝色区域我设置了密码后,我获取不到,必须要我验证后才能获取密码
1. 密码获取:config get requirepass
2. 密码设置;config set requirepass xxx
3. 密码验证:auth xxx
4. 下回登录: redis-cli -p 6379 -a xxx就不需要密码验证
5. 登录前验证密码和登录后验证密码,都能密码防盗,但是不能避免本机被别人使用redis,密码能有效阻止外部用户来操作你的redis的。
- redis的持久化设置
1. RDB:是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb
2. AOF:配置文件中的appendonly修改为yes,开启AOF持久化。开启后,启动redis服务端,发现多了一个appendonly.aof文件。使用AOF做持久化,每一个命令以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写,使得 AOF文件的体积不会超出保存数据集状态所需的实际大小。实际上,AOF持久化并不会立即将命令写入到硬盘文件中,而是写入到硬盘缓存,在接下来的策略中,配置多久来从硬盘缓存写入到硬盘文件。所以在一定程度一定条件下,还是会有数据丢失,不过你可以大大减少数据损失
- redis的基本操作,string ,hash,set(不重复值),zset,list(栈)
1. 删除Key:del key
2. 检查key是否存在:exists
3. 设置或者更新到期时间,到期后自动清除,单位秒 设置为-1表示永不过期:expire key
4. 过期时间设置为-1,永不过期:persist
5. 修改key名字。如果newkey已经存在,则删除newkey:rename key newkey
6. KEYS * 匹配数据库中所有 key 。
7. KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
8. KEYS h*llo 匹配 hllo 和 heeeeello 等。
9. KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
10. type key,key类型
11. mget获取多个key
12. 获取范围段(可以为负数):getrange key 0 4
13. 获取原来的值在设置一个值:getset key xxx
14. key中数字加一:incr key
15. key加t(整数) :incrby key increment
16. key加t(浮点数) :incrbyfloat key increment
15. 长度:strlen key
16. 追加:append key value
17. hash形式,一次可以多个:hmset key field value [field value ...]
18. hash获取多个:hmget key field[field]
19. 删除:hdel key field[field]
20. 获取所有域:hkeys key
21. 获取所有值;hvals key
22. 域的长度:hlen key
23. 还有几十条就不一一打出来了
zookeeper基本操作
1. 创建节点:create /zk_test my_data
2. 查看节点:ls /(如果是首节点,就斜杠就行)
3. 设置节点数据:set /zk_test value
4. 获取节点数据:get /zk_test
5. 删除节点:delete /zk_test
6. 查看节点状态:stat /zk-test
7. ls2 = ls + stat
8. 子节点创建时触发事件:stat /zk-test watch
-
查看最大文件数的命令 :ulimit -a 如下图
-
通过命令查看io:top。
- PID:进程的ID
- USER:进程所有者
- PR:进程的优先级别,越小越优先被执行
- VIRT:进程占用的虚拟内存
- RES:进程占用的物理内存
- SHR:进程使用的共享内存
- S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
- %CPU:进程占用CPU的使用率
- %MEM:进程使用的物理内存和总内存的百分比
- TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
- COMMAND:进程启动命令名称
-
怎样通过命令查看网络情况:ifconfig,service network status, ,ethtool ens33
表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数- %CPU:进程占用CPU的使用率
- %MEM:进程使用的物理内存和总内存的百分比
- TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
- COMMAND:进程启动命令名称
-
怎样通过命令查看网络情况:ifconfig,service network status, ,ethtool ens33