- 博客(41)
- 资源 (7)
- 收藏
- 关注
转载 mysql创建新用户并授权
一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该
2015-10-10 16:51:37
598
转载 mysql远程访问权限
mysql> USE mysql; Database changedmysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.1.100’ IDENTIFIED BY ‘rootpassword’ WITH GRANT OPTION;mysql> – @’192.168.1.100’可以替换为@‘%’就可任意ip访问mysql> GRANT ALL PR
2015-10-10 16:42:32
334
转载 linux 忘记mysql root密码
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且拔
2015-10-10 16:13:37
525
转载 mysql设置root密码
方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’); 方法2:用mysqladmin mysqladmin -u root password “newpass” 如果root已经设置过密码,采用如下方法 mysqladmi
2015-10-10 15:51:20
1524
转载 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)解决方法:由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错 [root@localhost ~]
2015-10-10 15:45:53
309
原创 用creat创建已存在的文件会发生什么
creat函数int creat(const char *path, mode_t mode);等价于open(path, O_WRONLY | O_CREAT | O_TRUNC, mode);creat的函数有一个不足之处,就是它是以只写方式打开已创建的文件的。另外,在进行函数测试时,还发现,使用creat文件创建一个已存在的文件时,就会把文件长度截断为0,但文件的访问权限维持原先的不
2015-05-07 11:25:55
1592
原创 the data structures used by the kernel for all I/O
以下的描述是概念性的,它可能符合或者不符合一个特定的实现。内核使用三种数据结构表示打开的文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。1、每个进程在其进程表中都有一个记录项,记录项中包含有一张该进程打开文件描述符表。我们可以将它看做是一个vector,每条记录对应一个描述符。与每个文件描述符相关联的是:a) 文件描述符标志(The file
2015-04-30 15:26:11
405
原创 文件I/O
unix系统中的大多数文件I/O只需用到5个函数:open、read、write、lseek、close。术语不带缓冲指的是每个read和write都调用内核中的一个系统调用。只要涉及在多个进程间共享资源,原子操作将会变得非常重要。由open返回的描述符一定是最小的未用的描述符值。int open(char* filename, int oflag, .../*mo
2015-04-30 11:25:22
287
原创 初涉信号
信号(signal)是通知进程已发生某种情况的一种技术。进程对于处理信号有三种选择:1、忽略该信号。有些信号表示硬件异常,例如,除以0或访问进程地址空间以外的单元等,因为这些异常产生的后果不确定,所以不推荐使用这种方法。2、按系统默认方式处理。例如,对于除以0的情况,系统默认方式是终止该进程。3、提供一个函数,信号发生时则调用该函数,这被称为捕捉该信号。使用这种方式,我们只要提供自
2015-04-29 10:40:34
665
原创 errno的前世今生
当unix函数出错时,常常返回一个负值,而且整形变量errno通常被设置为含有附加信息的一个值。例如open函数如果成功,返回一个非负文件描述符。如果出错,则返回-1。在open出错时,有大约15种不同的errno值(文件不存在,权限问题等)。某些函数并不返回负值而是使用另一种预定。例如,返回一个指向对象指针的大多数函数,在出错时,将返回一个空指针。在中定义了errno以及可以赋予它的各种
2015-04-28 17:03:03
530
转载 进程与线程的差别
学习APUE,对于进程与线程也有了一些认识,从《程序员面试宝典》第三版中,摘录关于两者区别的面试题,供自己学习使用。面试例题1: 请描述进程和线程的差别。进程是程序的一次执行。线程可以理解为进程中执行的一个程序片段。在一个多任务环境中,下面的概念可以帮助我们理解两者的差别。进程间是独立的,这表现在内存空间,上下文环境上;线程运行在进程空间内,一般来讲(不使用特殊技术),进程无法
2015-04-28 15:52:00
339
原创 初窥多进程
程序的实例被称为进程,有三个用于进程控制的主要函数:fork、exec和waitpid。接下来会有一段类shell程序的简化实现代码,让我们一起来看看以上3个函数是如何使用的,随后参照代码,会有比较详细的要点解释。#include #include #include #include #include #include #define MAXLINE 4096
2015-04-28 15:34:05
319
原创 输入与输出
1、文件描述符(file descriptor)文件描述符(file descriptor)通常是一个小的非负整数2、标准输入、标准输出、标准出错按惯例,每当运行一个新程序时,所有的shell都将为其打开三个文件描述符:标准输入(standard input)、标准输出(standard output)和标准出错(standard error)。3、不用缓冲的I/O函数open
2015-04-28 12:36:51
347
原创 【代码】显示一个目录下所有文件
#include #include #include int main(int argc, char* argv[]){ DIR* dir; struct dirent* buf; if (argc != 2) { printf("useage:1-1 \n"); exit(1); } //open
2015-04-28 11:07:33
469
原创 UNIX Architecture
In a strict sense, an operating system can be defined as the software that controls the hardware resources of the computer and provides an environment under which programs can run. Generally, we call
2015-04-27 15:38:24
429
转载 异步信号安全(可重入性)与线程安全
书中10.6和12.5两节分别是信号和线程的重入介绍。但是未对异步信号安全、线程安全、可重入概念做统一对比,难以彻悟。针对于此,写下本文。1. 三个概念,线程安全,可重入,信号安全 先简单提一下, 线程安全,主要是针对数据竞争来说的,就是说:如果数据不需要共享,那就让每个线程私有;如果需要共享,那就加锁。 信号安全,其实也就是异步信号安全,是说线程在信号处理函
2015-04-23 15:26:34
553
原创 信号SIG_TERM与信号SIG_KILL
SIG_KILL 这是两个不能被捕捉或者忽略信号中的一个(另一个为SIG_STOP),它向管理员提供了一个可以杀死任意一个进程的可靠方法。SIG_TERM 这是由kill命令发送的系统默认终止信号。这两个信号的产生都需要使用kill命令,但是前者需如此使用:kill -9 pid,而后者kill pid即可。
2015-04-20 14:34:05
1759
转载 给程序员简历的一些建议
最近一直郁闷投出去的简历没收到希望中的回复,自己觉得自己技术也没那么不堪入目,问题可能出现在简历上,于是搜索了下,对于程序员写简历的一些建议。希望对大家有所帮助。希望对自己也有帮助。最后让offer来的更猛烈些吧!!(声明:这是转载的几篇比较好的建议, 对于转载的别人的东西,需要特别声明。) * 没有必要撒谎 写简历最差的策略就是撒谎了。这种欺骗本身就自相矛盾。你到
2015-04-08 10:40:29
570
原创 测试程序运行时间
Linux平台#include#includeusing namespace std;int main(){ clock_t start,finish; double totaltime; start = clock(); //your code finish = clock(); totaltime = (double
2015-04-02 10:09:25
355
原创 named return value optimization
g++有编译选项-fno-elide-constructors。提供下面的代码,供编译使用#include using namespace std;class A{public: A() {cout << "A created" << endl;} A(A& a) {cout << "A created with copy" << endl;} ~A() {co
2015-04-01 14:22:12
473
转载 程序员读书雷达
软件业的特点是变化。若要提高软件开发的技能,就必须跟上技术发展的步伐。埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识。世界上并不存在速成的终南捷径,但阅读好的技术书籍,尤其是阅读大师们的经典著作,总能收到事半功倍之效。一位优秀的程序员,或许就是一名好的阅读者。好的阅读者,总是知道如何选择好的书籍。书海浩繁,良莠不齐。阅读技术好书,如与智者交谈,“与君一席话胜读十年书”
2015-03-26 11:28:54
387
转载 【面】评价C和C++的各自特点
【面】:评价一下C和C++的各自特点。如果一个程序需既需要大量运算,又要有一个好的用户界面,还需要和其他软件大量交流,应该怎样选择语言?答:C是一种结构化的语言,重点在于算法和数据结构。C程序的设计首先考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。而对于C++而言,首先考虑的是如果构造一个对象模型,让这个模型能够契合与之对应的问题域,这样
2015-03-25 17:02:07
352
转载 C++中静态数据成员以及静态成员函数
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时
2015-03-25 10:13:52
346
转载 C++中const的作用大全
Const 作用1. const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令2. 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。3. 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。4. 可以节省空间,避免不必要的内存分配。
2015-03-06 11:39:25
519
转载 C++中引用和指针的区别
下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别
2015-03-05 14:11:48
292
转载 vim tab设置为4个空格
在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格)set expandtab对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:TAB替换为空格::set ts=4:set expandtab:%retab!空格替换为TAB::set ts=4:s
2015-03-02 10:51:56
385
转载 多重继承与虚拟继承
为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。这样一个类D的对象在访问继承的类A中的成员时就会出现二义性问题。如下面程序: 在31行coutError:D::a不明确。这是因为所有A的成员在D中都是成对出现的。这时
2015-02-28 18:17:05
355
转载 C++虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述
2015-02-28 16:41:48
326
转载 [C++]深入理解sizeof-使用规则及陷阱分析
说明:sizeof在笔试面试的时候频频地出现,这也是对基础的一个考查。关于sizeof的文章很多,但感觉大家都没有好好总结下,本着“先行先赢”和“为人民服务”的精神,查找引用参考了很多文章,在这里总结一下,有错误或者遗漏的地方还得请高手多多指教,也不要因这这些问题误导别人,希望以后大家在学习的过程中也能节省些时间。一、概要sizeof是C语言的一种单目操作符(但有人也不这么
2015-02-26 14:54:44
498
转载 字节对齐与结构体大小
说明:结构体的sizeof值,并不是简单的将其中各元素所占字节相加,而是要考虑到存储空间的字节对齐问题。这些问题在平时编程的时候也确实不怎么用到,但在一些笔试面试题目中出是常常出现,对sizeof我们将在另一篇文章中总结,这篇文章我们只总结结构体的sizeof,报着不到黄河心不死的决心,终于完成了总结,也算是小有收获,拿出来于大家分享,如果有什么错误或者没有理解透的地方还望能得到提点,也不
2015-02-26 14:18:17
402
转载 extern "C"的用法解析
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处
2015-02-12 16:10:39
287
原创 自增自减操作符在C与C++中的左值区别
今天网上看到一个华为的面试题目:写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值int a = 4;(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);答案是C是错误的,而A B D是正确的。我感到很疑惑,于是敲代码验证下,在C++中,确实答案是C不正确。但是
2015-02-12 14:36:07
633
转载 彻底搞清 C/C++中a++与++a的区别
首先 a++和++a 的定义:看个例子A: a=5; b=++a; // 相当于a=a+1;b=a; 结果是a=6,b=6B: a=5; b=a++; // 相当于b=a;a=a+1; 结果是a=6,b=5所以书上有: (1) 如果用前缀运算符对一个变量增1(减1),则在将该变量增1(减1)后,用新值在表达式中进行其他的运算。 (2) 如果用后缀运算符
2015-02-12 13:58:59
3097
2
转载 linux yum安装、源的选择及介绍
配置 yum 源的两种方法由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程: 1.删除redhat原有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 2.下载yum安装文件 wget http://mirrors.1
2015-02-09 15:40:49
694
转载 linux安装easy_install
本文是作者在学习python时,遇到搭建环境的练习,其中需要用到easy_install。所以本文就顺理成章而来。如果大家初学python,推荐一个很好的网站:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013747381369301852037f35874b
2015-02-09 14:28:52
1246
转载 linux下MySQL安装及设置
1. 关于本文 本文将以MySQL 5.0.51为例,以CentOS 5为平台,讲述MySQL数据库的安装和设置。2. 关于MySQL MySQL是最流行的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家由MySQL开发人员创建的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是M
2015-02-04 16:12:26
324
转载 FTP配置受限用户以及可能碰到的问题(转)
开发中有个需求,需要在服务器开通一个FTP账号给其他人用,让他们上传东西到我们的服务器。但是又不能让他们访问主机的其他目录,所以用到vsftpd这个东西。我们的主机系统是RHEL 9 ,自带了 vsftpd,如果你的系统没有vsftpd,先自行安装一个,可以上网搜索如何安装。设置步骤:1.假设需要建立FTP登陆用户名为test。被限制路径为/home/test2.l
2014-05-21 10:37:33
696
常用的集中经典排序算法讲解(pdf版本)
2011-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人