linux服务器

windows下Mysql解决Fatal error: Can\'t open and lock privilege tables: Table \'mysql.host\' doesn\'t exist

a 夏天 提交于 2020-03-15 11:41:10
在windows下安装完Mysql他的数据库默认是在 C:\Documents and Settings\All Users\Application Data\下面的。。所以为了安全和便于管理,,就将Mysql安装目录下面的My.ini下的Datadir="新路径" 修改了一个自己想要存放的目录的 这下问题来了,服务器重启后(习惯经常看一下目志)发现 应用程序 那边出现了Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 错误。。。,百度了一下都是讲Linux下面的。也没有讲到windows下面(我太懒了没有怎么看)。突然再看清楚一下所有的日志的。发现,只有我改了数据路径后才开始有这个问题的。。那是不是要把原来的系统下面数据库也要保存一份过来呢。。于是 复制了一份过来后。。重启一下。问题搞定。哈哈。 因为大部分都是Linux下面的。所以我就记录下来方便后来人吧。本人不喜欢写文字。哈。。不好的话就随意一下的。。 来源: https://www.cnblogs.com/lundy/archive/2010/05/07/1729510.html

Java多线程:Linux多路复用,Java NIO与Netty简述

蓝咒 提交于 2020-03-15 10:11:48
JVM的多路复用器实现原理 Linux 2.5以前:select/poll Linux 2.6以后: epoll Windows: Winsock的select模型(感谢评论指正,仅Java NIO.2使用了Windows IOCP,由于Netty没有采用NIO.2此处不展开) Free BSD, OS X: kqueue 下面仅讲解Linux的多路复用。 Linux中的IO Linux的IO将所有外部设备都看作文件来操作,与外部设备的操作都可以看做文件操作,其读写都使用内核提供的系统调用,内核会返回一个文件描述符(fd, file descriptor),例如socket读写使用socketfd。描述符是一个索引,指向内核中一个结构体,应用程序对文件的读写通过描述符完成。 一个基本的IO,涉及两个系统对象:调用这个IO进程的对象,系统内核,read操作发生时流程如下: 通过read系统调用向内核发起读请求。 内核向硬件发送读指令,并等待读就绪。 内核把将要读取的数据复制到描述符所指向的内核缓存区中。 将数据从内核缓存区拷贝到用户进程空间中。 Linux I/O模型简介 阻塞I/O模型:最常用,所有文件操作都是阻塞的。 非阻塞I/O模型:缓冲区无数据则返回,一般采用轮询的方式做状态检查。 I/O复用模型:详细见下 信号驱动I/O:使用信号回调应用,内核通知用户何时开启一个I/O操作

nginx的在linux系统中的安装

一笑奈何 提交于 2020-03-15 09:31:23
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ n PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。 yum install -y pcre pcre-devel 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。 n zlib zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。 yum install -y zlib zlib-devel n openssl OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。 yum install -y

Linux 通过ssh传输文件

梦想与她 提交于 2020-03-15 06:40:33
一、scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。 二、scp有什么用? 1、我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的。 2、我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无法通过常规途径上传是,只需要通过scp命令便可以轻松的达到目的。 三、scp使用方法 1、获取远程服务器上的文件 scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz 上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。 2、获取远程服务器上的目录 scp -P 2222 -r root@www.vpser

LNMP安装与配置

≯℡__Kan透↙ 提交于 2020-03-15 06:25:00
Nginx 与apache 、lighttp 性能综合对比,如下图: 注意:关闭 rpm 默认安装的 apache 和 mysql 1. 准备php 函数的rpm 包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 2. 准备lnmp 其他的源代码包 wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz wget http://blog.s135.com/soft/linux/nginx

linux定时执行任务

一个人想着一个人 提交于 2020-03-15 04:23:07
(1)Linux下如何定时执行php脚本? (2)Linux下如何设置定时任务? (3)Crontab定时执行程序 核心提示: 键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一种情况,当需要传递参数的时候,可以考虑用linux的curl) 第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include,require_once等命令的PHP文件 * */1 * * * /usr/local/php/bin/php /var/www/html/wwwroot/web/script.php (每一小时执行一次script.php) 注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录 chmod +x script.php 注意:你的script.php文件中一定要在开始处加上: #!/usr/local/php/bin/php -q ,下面是一个完整的script.php文件代码 <?php #!/usr/local/php/bin/php -q session_start(); define( "DB_PASSWORD", "111111" ); // 服务器登陆密码 define( "DB_NAME", "db_shopping" ); // 数据库名称 define( "DB_USER", "root" ); //

Linux 简介

半世苍凉 提交于 2020-03-15 00:01:41
Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux的发行版 Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。 目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。 Linux应用领域 今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。 目前Linux不仅在家庭与企业中使用,并且在政府中也很受欢迎。 巴西联邦政府由于支持Linux而世界闻名。 有新闻报道俄罗斯军队自己制造的Linux发布版的,做为G.H.ost项目已经取得成果.

Linux shell必知必会

我的梦境 提交于 2020-03-14 20:42:44
我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Linux 好,但是对 脚本 的支持太差了。一开始有点不习惯 命令 行操作,但是熟悉了之后反而发现移动鼠标点点点才是浪费时间的罪魁祸首。那么对于 Linux 命令 行,本文不是介绍某些命令的用法,而是说明一些简单却特别容易让人迷惑的细节问题。 1、标准输入和命令参数的区别。 2、在后台运行命令在退出终端后也全部退出了。 3、单引号和双引号表示字符串的区别。 4、有的命令和sudo一起用就 command not found。 一、标准输入和参数的区别 这个问题一定是最容易让人迷惑的,具体来说,就是搞不清什么时候用管道符|和文件重定向>,<,什么时候用变量$。 比如说,我现在有个自动连接宽带的 shell 脚本 connect.sh,存在我的家目录: $ where connect.sh /home/fdl/bin/connect.sh 如果我想删除这个脚本,而且想少敲几次键盘,应该怎么操作呢?我曾经这样尝试过: $ where connect.sh | rm 实际上,这样操作是错误的,正确的做法应该是这样的: $ rm $(where connect.sh) 前者试图将where的结果连接到rm的标准输入,后者试图将结果作为命令行参数传入。

linux 学习 mysql安装到连接

爷,独闯天下 提交于 2020-03-14 11:45:44
下载mysql和安装 下载时自行前往下载,如果本地有翻墙条件,并且网速够快的情况下,可以使用下面的方法 二、先下载Linux下的Mysql包,打开Mysql官网 https://www.mysql.com/ 点击DOWNLOAD,进入 https://www.mysql.com/downloads/ 到页面最底部,点击社区版 community(GPL)Downloads>>,进入 https://dev.mysql.com/downloads/ 继续点击社区版服务器,进入 https://dev.mysql.com/downloads/mysql/ 三、选择版本及系统,点击右侧的Download,进入页面 四、最后开始下载 五、下载完成后的包列表,选择版本不同,后面的版本号可能不同,这个没有关系 陈列如下 mysql-community-client-8.0.16-2.el7.x86_64.rpm mysql-community-common-8.0.16-2.el7.x86_64.rpm mysql-community-devel-8.0.16-2.el7.x86_64.rpm mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm mysql-community-libs-8.0.16-2.el7.x86_64.rpm

Linux基础优化与安全归纳总结

感情迁移 提交于 2020-03-14 10:04:15
一名运维工程师在运维岗位上时间久了,就会发现 Linux 优化的重要性,同时会给运维工作带来很多的便利性。本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读 Linux 相关书籍及向同事、同行高手咨询,针对 Linux 系统的一些基本优化做了如下归纳总结,如有不足之处,还望大伙补充完善。 本文主要描述一些基本的系统优化知识点,并未涉及 Linux 深化优化,关于 Linux 的深化优化知识本人后期会更新。 第一点: Linux 的管理尽量不用 root 用户,利用 sudo 命令来控制普通用户对系统的管理 新建一个用户,使用 sudo 命令添加权限,详细操作步骤如下: ( 1 )添加新的用户: useradd 新的用户名 ( 2 )检查是否已成功添加: id 新的用户名 ( 3 )设置该用户的密码: echo 123321|passwd --stdin 新的用户名 接下来需将新的用户添加管理员权限,这个新的用户就相当于管理员 ( 4 )备份之前的权限文件: \cp /etc/sudoers{,.back} ( 5 )将新的用户添加管理员权限: echo " 新的用户名 ALL=(ALL) NOPASSWD: ALL " >> /etc/sudoers ( 6 )检查是否已成功添加: tail -1 /etc/sudoers ( 7 )配置生效: visudo -c