H5直播站点运维笔记三 数据库篇

本文详细介绍了MySQL和Redis的运维操作,包括查看数据库版本、配置开机启动、管理连接数、权限设置以及启动和停止服务。同时,还提到了远程访问权限的配置和远程管理工具Navicat的使用。对于Redis,讲解了启动服务、查看状态以及常用操作命令。这些内容对于数据库管理员和运维人员来说是宝贵的实践指南。

数据库篇

一、Mysql

使用版本Mysql-5.7.17

1.查看数据库版本

mysql --version

2.检查运行状态

(1)查询端口,MySQL监控的是TCP的3306端口
netstat -tulpn
(2)查询进程,mysqld_safe和mysqld两个进程,说明MySQL服务当前在启动状态。
ps -ef | grep mysqld

3.查询安装路径

4.配置MySQL的开机自动启动

(1)查询开机自启动状态
chkconfig --list //234列为on表示开机自启动
(2)开机自启动
chkconfig --add mysql
chkconfig mysqld on

5.命令启动/关闭MySQL实例

(1)方法1
service mysqld start/stop/restart
(2)方法2
/etc/init.d/mysqld start/stop/restart
(3)方法3
mysqladmin -p -u root shutdown

6.命令行登录

mysql -uroot -p

7.解决连接数限制

(1)查看最大连接数上限,命令行登录后

mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name  | Value |
+-----------------+-------+
| max_connections | 151  |

(2)修改etc/my.cnf中设置Mysql 最大连接数

  • 编辑配置文件
    vim /etc/my.cnf
  • 修改连接数值
[mysqld]
max_connections =2000
  • 退出编辑
    :wq

(3)重启Mysql服务
service mysqld restart //CentOS6
systemctl restart mysqld.service //CentOS7

(4)更改 MySQL 在 Linux 的最大文件描述符限制

  • 查询最大文件描述符限制
    ulimit -n
[root@VM-0-15-centos ~]# ulimit -n
65536
  • 编辑mysqld.service
    vim /usr/lib/systemd/system/mysqld.service
  • 文件最后添加
LimitNOFILE=65535
LimitNPROC=65535
  • 保存配置
    :wq
  • 生效配置
    systemctl daemon-reload
    systemctl restart mysqld.service

8.查看运行状态

(1)查询进程连接及并发数,命令行登录后

mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 58    |
| Threads_connected | 57    |   ###打开的连接数
| Threads_created   | 3676  |
| Threads_running   | 4     |   ###当前并发数

(2)服务器实时响应的最大连接数

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name    | Value |
+----------------------+-------+
| Max_used_connections | 2   |  ###当前服务器正在响应的最大连接数

(3)服务器连接数上限理想范围

  • 服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。
  • 公式

Max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%

9.配置访问权限

(1)查看用户权限表

  • 登录mysql
  • 选择用户表
mysql> use mysql
  • 查询用户表
myql> select Host,User from user;
+-----------+-----------+
| host      | user       |
+-----------+-----------+
| %         | live        |
| %         | root       |
| localhost   | mysql.sys  |
| localhost   | root      |
+-----------+-----------+

(2)设置远程访问权限

  • 方法1:使用grant all privileges on来更改用户对应某些库的远程权限
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;

库名:要远程访问的数据库名称,所有的数据库使用“
表名:要远程访问的数据库下的表的名称,所有的表使用“

用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码

  • 方法2:更新/授权用户表
    //更新用户表
mysql> update user set Host = '%' where Host = 'localhost' & user = 'root'; 

mysql> UPDATE `user` SET `Host` = '10.42.*.*' where `Host` = '10.42.*.*' & user = 'root';
mysql> flush privileges;
  • 10.42.*.是允许远程访问的IP的值,root是账户名,后面的assword是密码。 即,允许来自10.42..*的连接并使用root账户和password这个密码进行访问。
  • 10.40.1.2是内网的一个地址,这个是允许远程访问的IP的值。自行改为其他值。
  • root是账户名,后面的FJay是密码。
    即,允许来自10.10.11.12的连接并使用root账户和FJay这个密码进行访问。
  • ALL PRIVILEGES ON 后面的*.*表示所有数据库,即完全访问权限,可以指定为特定数据库。
  • 而IP这里,可以使用%来表示所有IP。
  • 第二行是使设置立刻生效。

10.远程管理工具

  • Navicat Premium

二、Redis

1.查看

(1)启动情况
ps aux | grep redis
(2)配置文件
whereis redis
cat /etc/redis/6379.conf

2.启动Redis服务

redis-server /etc/redis/6379.conf

[root@VM-0-15-centos data]# redis-server /etc/redis/6379.conf
11505:C 14 Feb 2021 03:24:00.153 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
11505:C 14 Feb 2021 03:24:00.153 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=11505, just started
11505:C 14 Feb 2021 03:24:00.153 # Configuration loaded
[root@VM-0-15-centos data]# ps aux | grep redis
root     11506  0.0  0.0 152432  7768 ?        Ssl  03:23   0:00 redis-server 127.0.0.1:6379      
root     11788  0.0  0.0 103324   844 pts/0    S+   03:25   0:00 grep redis

3.操作命令

(1)进入交互命令
redis-cli -h {host} -p {port} -a {password}
(2)查看所有key

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set a 888
OK
127.0.0.1:6379> keys *
1) "a"
127.0.0.1:6379> get a
"888"

(3)redis服务器信息

info

(4)实时打印出 Redis 服务器接收到的命令

monitor

(5)关闭服务器,正常关闭而不丢失任何数据

shutdown

本章完


服务器篇

…详见运维笔记 《服务器篇》

Laravel 框架篇

…详见运维笔记 《Laravel 框架篇》

压测篇

…详见运维笔记 《压测篇》

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值