Tag: linux

  • mysql5.7 GTID错误Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.'
  • CentOS 7.7 下 MySQL 5.7.29 Community Server 的安装与配置

    注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。查看 MySQL官网密码详细策略

  • MySQL 5.7 关闭密码策略设置validate_password

    MySQL 5.7 关闭密码策略设置validate_password

    MySQL 5.7 关闭密码策略设置validate_password

  • Discuz后台解锁用户

    Discuz后台解锁用户

    如果用户被锁,最好是用户通过自己的提示信息发送解锁邮件(用户发起解锁请求后,管理员会在后台看到审核条目,批准即可),等待管理员审核后,会马上显示已经解锁。如果通过下面的sql语句进行后台解锁,虽然用户没问题了,但是对于管理后台仍然会看到要求解锁的用户请求,可能会有脏数据。

  • CentOS6.x/7.x版本下yum安装nginx+php7+mysql5.5环境

    CentOS6.x/7.x版本下yum安装nginx+php7+mysql5.5环境

    需要公网访问权限,可以访问到 nginx.org rpms.famillecollet.com remi的源

  • mysqldump如何压缩备份数据

    mysqldump如何压缩备份数据

    通常情况下可以压缩到1/3的数据量

  • Discuz发布新版本20191201

    Discuz发布新版本20191201

    加入并完善H5文件上传功能支持 !252:论坛HTML5上传取代原有的Flash上传 , !273:修复新版 H5 上传的某些问题 完善MySQL 8的支持 !275:完善mysql 8.0.12以下版本的支持 , !244:修复 MySQL 8.0 环境下搜索用户报错的问题 后台禁止用户时可清空用户资料 !279:后台禁止用户时增加对用户资料的清空操作 支持在手机版将非论坛页面设置为首页 !220:手机版新增支持设置非论坛页面为首页,并增加后台设置 后台管理页面加入了开源贡献者链接 !281:在后台管理首页加入开源贡献者链接。

  • 如何在centos8/RHEL8下安装mysql8

    如何在centos8/RHEL8下安装mysql8

    MySQL是目前最流行的、免费的、开源的关系数据库管理平台,它通过允许多用户访问每个数据库,在任何一台服务器上托管多个数据库。最新的MySQL 8.0版本可以使用MySQL模块从默认的AppStream存储库安装,该模块在CentOS 8和RHEL 8系统上默认启用。

  • Ubuntu18.04防火墙ufw配置命令详解

    Ubuntu18.04防火墙ufw配置命令详解

    正确配置的防火墙是整个系统安全性最重要的方面之一。 默认情况下,Ubuntu附带一个名为UFW(简单防火墙)的防火墙配置工具。UFW是管理iptables防火墙规则的一个用户友好的前端,它的主要目标是使管理iptables更容易,或者如其名所说,简单。

  • 利用rename批量重命名文件

    利用rename批量重命名文件

    来源:https://mp.weixin.qq.com/s/4o_3l5G6CCWlAXIpwvcYMg 先来看下例子。$ rename ‘s/old/new/’ this.old$ ls this*this.new其中,s 的作用是指定我们使用第二个字符串替换第一个字符串,从而将 this.old 改为 this.new 。有人可能会问了,上面的例子我们用 mv this.old this.new 这条命令不是更方便吗?没错,但是这样一条命令一次只能重命名一个文件,而我们今天要做的是一次性重命名一组文件。要怎么处理呢?很简单,来看下面的例子:$ ls *.oldreport.old schedule.old stats.old this.old$ rename ‘s/old/new/’ *.old$ ls *.newreport.new schedule.new stats.old this.new由以上结果可见,通过这个简单的一条命令的操作,我们可以将当前目录下所有 .old 结尾的文件重命名为 .new 结尾的文件,简单高效!如果你认为那是 rename 命令的全部那就是图样图森破了。rename 命令并不局限于更改文件扩展名,也可以更改文件名中的任意字符串。比如,我们如果想要将名为 report.* 的文件更改为 review.* ,则可以使用以下命令:$ rename ‘s/report/review/’ *注意,正则表达式中提供的规则可以更改文件名的任意部分,无论是文件名还是扩展名。$ rename ‘s/123/124/’ *$ ls *124*status.124 report124.txt如果你想交互性地使用 rename 进行重命名,以方便查看都做了哪些更改,从而避免错误修改,可以使用 -v 选项。$ rename -v…

  • ubuntu 16/18 上安装php7.0/7.1/7.2/7.3/7.4方法

    ubuntu 16/18 上安装php7.0/7.1/7.2/7.3/7.4方法

    先看重点:CAVEATS: 1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman 2. If you are using apache2, you are advised to add ppa:ondrej/apache2 3. If you are using nginx, you are advise to add ppa:ondrej/nginx-mainline or ppa:ondrej/nginx 通过下列命令安装PHP 7.3 $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo…

  • 如何设置mysql库只读?

    如何设置mysql库只读?

    执行: set global read_only=1 即可。 以下是相关说明: 1、对于数据库读写状态,主要靠“read_only”全局参数来设定; 2、默认情况下,数据库是用于读写操作的,所以read_only参数也是0或faluse状态,这时候不论是本地用户还是远程访问数据库的用户,都可以进行读写操作; 3、如需设置为只读状态,将该read_only参数设置为1或TRUE状态,但设置read_only=1状态有两个需要注意的地方: 1)read_only=1只读模式,不会影响slave同步复制的功能,所以在MySQLslave库中设定了read_only=1后,通过showslavestatus\G,命令查看salve状态,可以看到salve仍然会读取master上的日志,并且在slave库中应用日志,保证主从数据库同步一致; 2)read_only=1只读模式,可以限定普通用户进行数据修改的操作,但不会限定具有super权限的用户的数据修改操作;在MySQL中设置read_only=1后,普通的应用用户进行insert、update、delete等会产生数据变化的DML操作时,都会报出数据库处于只读模式不能发生数据变化的错误,但具有super权限的用户,例如在本地或远程通过root用户登录到数据库,还是可以进行数据变化的DML操作; 那么super用户怎么控制读写? 1、为了确保所有用户,包括具有super权限的用户也不能进行读写操作,就需要执行给所有的表加读锁的命令“flushtableswithreadlock;”这样使用具有super权限的用户登录数据库,想要发生数据变化的操作时,也会提示表被锁定不能修改的报错。 1)这样通过设置“read_only=1”和“flush tables with read lock;”两条命令,就可以确保数据库处于只读模式,不会发生任何数据改变。 2)但同时由于加表锁的命令对数据库表限定非常严格,如果在slave从库上执行这个命令后,slave库可以从master读取binlog日志,但不能够应用日志,slave库不能发生数据改变,当然也不能够实现主从同步了,这时如果使用“unlocktables;”解除全局的表读锁,slave就会应用从master读取到的binlog日志,继续保证主从库数据库一致同步。 2、为了保证主从同步可以一直进行,在slave库上要保证具有super权限的root等用户只能在本地登录,不会发生数据变化,其他远程连接的应用用户只按需分配为select,insert,update,delete等权限,保证没有super权限,则只需要将salve设定“read_only=1”模式,即可保证主从同步,又可以实现从库只读。 3、设定“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;设定全局锁“flushtableswithreadlock;”,对应的解锁模式命令为:“unlocktables;”. 4、当然设定了read_only=1后,所有的select查询操作都是可以正常进行的。 ———————————————— 版权声明:本文为CSDN博主「JetBrains_孙健」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sj349781478/article/details/77745104

  • mariadb mysql 内存优化

    mariadb mysql 内存优化

    mysql经常需要调优,在大内存情况下,可以参考,原文地址: https://coding3min.com/mariadb-better/ 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调优。 查询最高内存占用 使用以下命令可以知道mysql的配置使用多少 RAM SELECT ( @@key_buffer_size + @@query_cache_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size ) ) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB; 可以使用mysql计算器来计算内存使用 下面是理论,可以直接到推荐配置 如何调整配置 key_buffer_size(MyISAM索引用) 指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以…

  • centos8发布了,看看有哪些新功能?

    centos8发布了,看看有哪些新功能?

    centos8发布了,其最新的官方maillist地址: https://lists.centos.org/pipermail/centos-announce/2019-September/023449.html 其中release note 的最新地址为: https://wiki.centos.org/zh/Manuals/ReleaseNotes/CentOS8.1905 CentOS-8还是基于上游的Red Hat企业级LinuxRHEL1的源代码。仍然遵守RedHat的再发行政策,与上游产品在功能上完全兼容。 CentOS对组件的修改主要是去除了RedHat的商标及美工图。 来看看主要变化: 地址:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.0_release_notes/overview 1、Shells and command-line tools shell和命令行工具: 提供了Git 2.18, Mercurial 4.8, 和 Subversion 1.10. 2、web,数据库,编程语言变化: 编程语言相关:除了新增的Node.js,其他都是更新:Python默认版本3.6;PHP 7.2;Ruby 2.5;Perl 5.26;SWIG 3.0 数据库相关:MariaDB 10.3, MySQL 8.0, PostgreSQL 10, PostgreSQL 9.6, and Redis 5. web引擎:Apache HTTP Server 2.4 and introduces a new web server, nginx 1.14. 缓存代理:Squid 4.4, 新增…

  • Install 安装 PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04

    Install 安装 PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04

    ########## Install NGINX ############## # Install software-properties-common package to give us add-apt-repository package sudo apt-get install -y software-properties-common # Install latest nginx version from community maintained ppa sudo add-apt-repository ppa:nginx/stable # Update packages after adding ppa sudo apt-get update # Install nginx sudo apt-get install -y nginx # Check status sudo service nginx # Start…

  • shell下利用awk sort uniq 对nginx日志进行统计分析 access log分析工具

    shell下利用awk sort uniq 对nginx日志进行统计分析 access log分析工具

    ########## 页面访问统计 ########## 查看访问最频的页面(TOP100) awk ‘{print $7}’ access.log | sort |uniq -c | sort -rn | head -n 100 查看访问最频的页面([排除php页面】(TOP100) grep -v “.php” access.log | awk ‘{print $7}’ | sort |uniq -c | sort -rn | head -n 100 查看页面访问次数超过100次的页面 cat access.log | cut -d ‘ ‘ -f 7 | sort |uniq -c | awk…

  • grep出多个条件的行

    grep出多个条件的行

    例子: 找出ok:开头,并且包含$1的行。 再次grep包含$1的行,包括其前一行,打印出来,带颜色 egrep -E “^ok:|$1” *.psef|grep -B 1 $1 –color 放到一个sh文件里,比如寻找xxx,执行: ./youscript xxx

  • find排除一个或多个目录的方法

    find排除一个或多个目录的方法

    百度就是垃圾,搜索结果千篇一律,错抄错。google一下,总结find排除某个目录的方法: How to exclude a directory in find . command Use the -prune switch. For example, if you want to exclude the misc directory just add a -path ./misc -prune -o to your find command: 寻找当前目录,排除misc目录,文件类型txt: find . -path ./misc -prune -o -name ‘*.txt’ -print Here is an example with multiple directories: 排除多个目录dir1,dir2,dir3的做法: find .…

  • Ubuntu 16.04安装MariaDB Master and Slave Replication主从配置

    Ubuntu 16.04安装MariaDB Master and Slave Replication主从配置

    原文标题:How to Setup MariaDB Master and Slave Replication on Ubuntu 16.04 Requirements Two fresh Alibaba Cloud instance with Ubuntu 16.04 installed. A static IP address 192.168.0.101 is configured on the Master node and 192.168.0.102 is configured on the Slave node. A Root password is set up on both instance. Launch Alibaba Cloud ECS Instance First,…

  • mariadb mysql_secure_installation 找不到 socket

    mariadb mysql_secure_installation 找不到 socket

    加个环境变量: export MYSQL_UNIX_PORT=/data/ifengsite/mysqldata/mysql.sock

  • centos7下mariadb不能增加连接数max_connections不生效

    centos7下mariadb不能增加连接数max_connections不生效

    MySQL values open_files_limit and max_connections are not applied 你虽然在配置文件已经加了: grep -i ‘max_connections’ /etc/my.cnf max_connections=2048 但是不生效: plesk db “SHOW GLOBAL VARIABLES LIKE ‘max_connections’ \G” *************************** 1. row *************************** Variable_name: max_connections Value: 214 查看报错: The value of open_files_limit is reset after system updates are installed. In the log file /var/log/mysqld.log the following records can be found: [Warning]…

  • 探测https证书支持协议的3种方法

    探测https证书支持协议的3种方法

    nmap -sV –script ssl-enum-ciphers -p 443 <host> 参考 https://jumpnowtek.com/security/Using-nmap-to-check-certs-and-supported-algos.html openssl s_client -connect poftut.com:443  参考 https://www.poftut.com/use-openssl-s_client-check-verify-ssltls-https-webserver/ sslscan 参考 https://github.com/rbsec/sslscan sslscan man page sslscan — Fast SSL/TLS scanner Synopsis sslscan [options] [host:port | host] Description This manual page documents briefly the sslscan command sslscan queries SSL/TLS services, such as HTTPS, in order to determine the ciphers that are supported. SSLScan is designed…

  • Linux查看进程的4种方法

    Linux查看进程的4种方法

    系统正在运行的进程的 PID 可以通过使用 pidof、pgrep、ps 和 pstree 命令找到。 方法 1:使用 pidof 命令 pidof 用于查找正在运行的程序的进程 ID。它在标准输出上打印这些 id。为了演示,我们将在 Debian 9(stretch)系统中找出 Apache2 的进程 ID。 # pidof apache2 3754 2594 2365 2364 2363 2362 2361 从上面的输出中,你可能会遇到难以识别进程 ID 的问题,因为它通过进程名称显示了所有的 PID(包括父进程和子进程)。因此,我们需要找出父 PID(PPID),这是我们要查找的。它可能是第一个数字。在本例中,它是 3754,并按降序排列。 方法 2:使用 pgrep 命令 pgrep 遍历当前正在运行的进程,并将符合选择条件的进程 ID 列到标准输出中。 # pgrep apache2 2361 2362 2363 2364 2365 2594 3754 这也与上面的输出类似,但是它将结果从小到大排序,这清楚地说明父…

  • Mysql5.6设置max_connections失败解决办法

    Mysql5.6设置max_connections失败解决办法

    my.cnf 无法修改连接数,报错信息: [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 15000) [Warning] Buffered warning: Changed limits: max_connections: 214 (requested 3000) [Warning] Buffered warning: Changed limits: table_open_cache: 400 (requested 1520) 修改/etc/security/limits.conf 添加: mysql hard nofile 65535 mysql soft nofile 65535 vi /usr/lib/systemd/system/mysqld.service.d/limits.conf      #创建并配置配置文件 [Service] LimitNOFILE=10000 # 重新加载配置文件 systemctl daemon-reload #重启mysqld服务,使配置生效。 systemctl restart mysqld.service

  • docker rm容器报错Error response from daemon: driver "overlay" failed to remove root filesystem for xxx device or resource busy 解决办法

    docker rm容器报错Error response from daemon: driver “overlay” failed to remove root filesystem for xxx device or resource busy 解决办法

    docker删除容器报错信息: [root@moneyslow.com ~]# docker rm -f 6105a0e6d7dc Error response from daemon: driver “overlay” failed to remove root filesystem for 6105a0e6d7dc3e1c9f7f68ed273dcc22e9b954e6f0ddbd58026da6ee839a0c2d: remove /var/lib/docker/overlay/f9614e02b2c67bae1d6df46d5ca470a6468c2597ed7be82134ac9df3a8f3d5ce/merged: device or resource busy 我就呵呵了,设备忙。思路,找谁在用这个目录, 用 f9614e02b2c67bae1d6df46d5ca470a6468c2597ed7be82134ac9df3a8f3d5ce 这段找找系统里mount信息里使用这个玩意的进程: [root@moneyslow.com ~]# grep 5ca470a6468c2597ed7be82134ac9df3a8f3d5ce /proc/*/mountinfo /proc/15877/mountinfo:171 167 0:38 / /var/lib/docker/overlay/f9614e02b2c67bae1d6df46d5ca470a6468c2597ed7be82134ac9df3a8f3d5ce/merged rw,relatime shared:113 – overlay overlay rw,lowerdir=/var/lib/docker/overlay/3e608cff644197e9909e640a5e856618ef44d38b4ef804d3927a91377b23d50f/root,upperdir=/var/lib/docker/overlay/f9614e02b2c67bae1d6df46d5ca470a6468c2597ed7be82134ac9df3a8f3d5ce/upper,workdir=/var/lib/docker/overlay/f9614e02b2c67bae1d6df46d5ca470a6468c2597ed7be82134ac9df3a8f3d5ce/work 以上看到没有,proc后面跟的就是进程号 15877,看看是什么东西: [root@moneyslow.com ~]# ps -ef|grep 15877 ntp 15877…

  • grep与正则表达式基础

    grep与正则表达式基础

    1 命令:grep 2 格式:grep [option] “pattern” filename 3 选项: 4 -v:反向选择 5 -i:忽略大小写 6 -n:显示行号 7 -c:统计行数 8 -o:仅显示匹配到的字符串 9 -w:匹配整个单词 10 -q:不输出任何信息 11 -A 2:after 显示后2行 12 -B 3:before 显示前3行 13 -C 3:context 前后各3行 14 -e:实现多个选项间的逻辑关系 15 grep -e root -e mail /etc/passwd 16 -E:相当于egrep,用于使用拓展的正则表达式 17 -F:相当于fgrep,不支持正则表达式 复制代码 正则表达式(Regular expression) 什么是正则表达式 Regular expression(正则表达式)是由一类特殊字符及文本字符编写的模式,其中有些字符(元字符)不代表字符的字面意义,而表示控制或通配功能。 那些程序支持正则表达式…

  • ssh failed Permission denied (publickey,gssapi-keyex,gssapi-with-mic)报错解决办法

    ssh failed Permission denied (publickey,gssapi-keyex,gssapi-with-mic)报错解决办法

    ssh failed Permission denied (publickey,gssapi-keyex,gssapi-with-mic) If you are facing issues with ssh login and displaying the error message “ssh failed Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”, try to follow the below steps: You may try edit in /etc/ssh/sshd_config: cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.back vim /etc/ssh/sshd_config Change “PasswordAuthentication no” to “PasswordAuthentication yes” Restart sshd service service sshd restart Try to…

  • shell中esac的用法

    shell中esac的用法

    esac in shell scripting Like fi for if. esac is the spell backward of “case”.  =================== #!/bin/sh FRUIT=”kiwi” case “$FRUIT” in “apple”) echo “Apple pie is quite tasty.” ;; “banana”) echo “I like banana nut bread.” ;; “kiwi”) echo “New Zealand is famous for kiwi.” ;; esac ========================== Happy scripting.

  • Centos root登陆邮件告警

    Centos root登陆邮件告警

    SSH notification mail alert in Centos Open the “bash_profile” vi ~/.bash_profile And the following content and replace the ” youremailaccount@yourdomain.com” with your email account that you wish to recieve email alerts. ============================ # Email admin when user logs in as root rootalert() { echo ‘ALERT – Root Shell Login’ echo echo ‘Server: ‘`hostname` echo ‘Time:…

  • linux下用netstat和lsof发现恶意进程和链接并匹配grep出公网外网ip地址

    linux下用netstat和lsof发现恶意进程和链接并匹配grep出公网外网ip地址

    The malicious files are being identified by the two powerful commands given below. 1)Netstat: -The command # netstat –an is used to show the all the current network connections currently in use along with the port numbers. Make sure to execute the command in root privilege. 2)Lsof: lsof is one of the best useful utility…

  • centos7 yum不安装mariadb,安装mysql-community社区版

    centos7 yum不安装mariadb,安装mysql-community社区版

    1 常规错误的yum安装方法: 在前文中记述了CentOS 6.5系统中通过yum方式快速地搭建了LNMP环境,那么是否也能在CentOS 7或CentOS 7.1系统中依葫芦画瓢安装MySql5.6.24呢?答案是否定的。 [root@typecodes ~]# yum -y install mysql mysql-server mysql-devel …………………。 ….省略部分安装过程…. …………………。 Installed: mariadb.x86_64 1:5.5.41-2.el7_0 mariadb-devel.x86_64 1:5.5.41-2.el7_0 Dependency Installed: keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.12.2-14.el7 libcom_err-devel.x86_64 0:1.42.9-7.el7 libselinux-devel.x86_64 0:2.2.2-6.el7 libsepol-devel.x86_64 0:2.1.9-3.el7 libverto-devel.x86_64 0:0.2.5-4.el7 openssl-devel.x86_64 1:1.0.1e-42.el7.4 pcre-devel.x86_64 0:8.32-14.el7 zlib-devel.x86_64 0:1.2.7-13.el7 Complete! 从上面的安装结果可以看出,没有安装mysql数据库,而是安装了mariadb数据!因为在CentOS 7和CentOS 7.1系统中,默认安装的mysql是它的分支mariadb。这里引用下百度百科关于mariadb的描述: MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 因此,下面这些正常的MySQL操作都是无效的: #######无法把mysql服务加入系统启动 [root@typecodes ~]# chkconfig mysqld on…

  • sudo ALL=(ALL) ALL 是什么意思?

    sudo ALL=(ALL) ALL 是什么意思?

    概览 sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。 sudo 命令与安全策略配合使用,默认安全策略是 sudoers,可以通过文件 /etc/sudoers 来配置。其安全策略具有高度可拓展性。人们可以开发和分发他们自己的安全策略作为插件。 与 su 的区别 在 GNU/Linux 中,有两种方式可以用提升的权限来运行命令: 使用 su 命令 使用 sudo 命令 su 表示 “switch user”。使用 su,我们可以切换到 root 用户并且执行命令。但是这种方式存在一些缺点: 我们需要与他人共享 root 的密码。 因为 root 用户为超级用户,我们不能授予受控的访问权限。 我们无法审查用户在做什么。 sudo 以独特的方式解决了这些问题。 首先,我们不需要妥协来分享 root 用户的密码。普通用户使用他们自己的密码就可以用提升的权限来执行命令。 我们可以控制 sudo 用户的访问,这意味着我们可以限制用户只执行某些命令。 除此之外,sudo 用户的所有活动都会被记录下来,因此我们可以随时审查进行了哪些操作。在基于 Debian 的 GNU/Linux 中,所有活动都记录在 /var/log/auth.log 文件中。 本教程后面的部分阐述了这些要点。 实际动手操作…

  • shell find sed 批量修改文件名

    shell find sed 批量修改文件名

    比如替换pic_001 为 001 for file in `find . -type f` do newfile=`echo $file | sed ‘s/pic_//g’` mv $file $newfile done

  • 利用 Linux 比较两个文件 求交集、并集、差集

    利用 Linux 比较两个文件 求交集、并集、差集

    比较两个文件的交集、并集、差集

  • linux内核版本的分类和意义

    linux内核版本的分类和意义

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字 第一个组数字:目前发布的内核主版本。 第二个组数字:偶数表示稳定版本;奇数表示开发中版本。 第三个组数字:错误修补的次数。 例1: 2.6.18-128.ELsmp ,  第一个组数字: 2 , 主版本号  第二个组数字: 6 , 次版本号,表示稳定版本(因为有偶数)  第三个组数字 18 , 修订版本号 , 表示修改的次数,头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。128: 表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的 EL : Enterprise Linux ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器 linux内核下里的ELsmp与EL与smp 在linux下ELsmp指出了当前内核是为ELsmp特别调校的 EL : Enterprise Linux ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器 例2:Red Hat Linux开机的时候,GRUB的启动菜单会有两个选项,分别是 Red Hat Enterprise Linux ES…

  • mysql 5.6.40 修改最大连接数

    mysql 5.6.40 修改最大连接数

    如果通过修改my.cnf 的方式不起作用,一般是和系统有关系。试试下面的方法,修改文件: append these two lines to /etc/security/limits.confmysql hard nofile 65535 mysql soft nofile 65535 append this line to /usr/lib/systemd/system/mysqld.service (in the [service] section)LimitNOFILE=65535 then finally reboot and check that those error messages have disappeared from your mysql error log.I would not recommend to edit the original systemd file as it will be overwritten during…

  • MAC 设置环境变量PATH 和 查看PATH(转载知乎文章)

    MAC 设置环境变量PATH 和 查看PATH(转载知乎文章)

    理论篇 Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc /etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。 PATH的语法为如下 #中间用冒号隔开 export PATH=$PATH::::——: 说明: /etc/paths (全局建议修改这个文件 ) 编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径 Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。 /etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。 /etc/bashrc (一般在这个文件中添加系统级环境变量) 全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件 .profile 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置 使用注意:如果你有对/etc/profile有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效。 ./bashrc 每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 使用注意 对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效。 ./bash_profile 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下) 使用注意 需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。 source ./.bash_profile 或者 ./.profile 环境信息生效 操作篇 全局设置 创建一个文件:…

  • common_visit' is marked as crashed and should be repaired 解决办法

    common_visit’ is marked as crashed and should be repaired 解决办法

    错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。 还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致 MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。

  • shell:读取文件的每一行内容并输出

    shell:读取文件的每一行内容并输出

    写法一: —————————————————————————- #!/bin/bash while read line do     echo $line done < file(待读取的文件) —————————————————————————- 写法二: —————————————————————————- #!/bin/bash cat file(待读取的文件) | while read line do     echo $line done —————————————————————————- 写法三: —————————————————————————- for line in `cat file(待读取的文件)` do     echo $line done —————————————————————————- 说明: for逐行读和while逐行读是有区别的,如: $ cat file aaaa bbbb cccc dddd $ cat file |…

  • centos7.4 yum 安装mysql5.7

    centos7.4 yum 安装mysql5.7

    使用wget下载官方yum源的rpm包: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装rpm包: rpm -ivh mysql57-community-release-el7-11.noarch.rpm yum来安装mysql-server: yum install -y mysql-server 启动mysqld服务: systemctl start mysqld 查看是否成功启动: ps aux|grep mysqld 设置mysqld服务开机自启动: systemctl enable mysqld 使用初始密码登录 由于MySQL从5.7开始不允许首次安装后,使用空密码进行登录,系统会随机生成一个密码以供管理员首次登录使用,这个密码记录在/var/log/mysqld.log文件中,使用下面的命令可以查看此密码: [root@bjlianyi wordpress]# cat /var/log/mysqld.log|grep ‘A temporary password’ 2018-06-29T15:08:12.364210Z 1 [Note] A temporary password is generated for root@localhost: f<%qrUl/f0lG [root@bjlianyi wordpress]# mysql ERROR 1045 (28000): Access denied for user ‘root’@’localhost’…