Linux笔记

Posted 是渣渣呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux笔记相关的知识,希望对你有一定的参考价值。

什么是Linux

Linux诞生于1991年10月,是 林纳斯·托瓦兹 开发的一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品

不管构建编辑器还是附属文件,所有程序只有一个目的,就是有效的完成目标

所有程序或系统装置都是文件

Linux发展史

Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet 网络。

1991 年,GNU 计划已经开发出了许多工具软件,最受期盼的 GNU C 编译器已经出现,GNU 的操作系统核心 HURD 一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的 GNU 操作系统,但是 GNU 奠定了 Linux 用户基础和开发环境。

1991 年初,林纳斯·托瓦兹开始在一台 386sx 兼容微机上学习 minix 操作系统。1991 年 4 月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。1991 年4 月 13 日发布说自己已经成功地将 bash 移植到了 minix 上,而且已经爱不释手、不能离开这个 shell 软件了。

1991 年的10 月5 日,林纳斯·托瓦兹在comp.os.minix 新闻组上发布消息, 正式向外宣布 Linux 内核的诞生(Freeminix-like kernel sources for 386-AT)。

1993 年,大约有 100 余名程序员参与了 Linux 内核代码编写/修改工作,其中核心组由 5 人组成,此时 Linux 0.99 的代码大约有十万行,用户大约有 10 万左右。

1994 年 3 月,Linux1.0 发布,代码量 17 万行,当时是按照完全自由免费的协议发布,随后正式采用 GPL 协议。

1995 年 1 月,Bob Young 创办了 RedHat(小红帽),以 GNU/Linux 为核心,集成了 400 多个源代码开放的程序模块,搞出了一种冠以品牌的 Linux,即RedHat Linux,称为 Linux"发行版",在市场上出售。这在经营模式上是一种创举。

1996 年 6 月,Linux 2.0 内核发布,此内核有大约 40 万行代码,并可以支持多个处理器。此时的 Linux 已经进入了实用阶段,全球大约有 350 万人使用。

1998 年 2 月,以 Eric Raymond 为首的一批年轻的"老牛羚骨干分子"终于认识到 GNU/Linux 体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的 Linux 产业化运动。

2001 年 1 月,Linux 2.4 发布,它进一步地提升了 SMP 系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC 卡(PCMCIA)的支持, 内置的即插即用,等等功能。

2003 年 12 月,Linux 2.6 版内核发布,相对于 2.4 版内核 2.6 在对系统的支持都有很大的变化。

Linux和UNIX的区别

\\1. Linux是开源免费的自由软件,UNIX是对源代码实现知识产权保护的商业软件

\\2. Linux是用于替代Minix操作系统,而重新编写的计算机操作系统,并加入了UNIX的特性

备注:

*UNIX* 由贝尔实验室加入通用电气与麻省理工学院合作计划开发的操作系统,最早于1965年开发,陆续开发到1973年。整个系统初始使用汇编语言开发,在过程中使用BCPL改写,形成了B语言,后来又对B语言改良,诞生了C语言,至此使用C语言成功改写了UNIX内核,C语言与UNIX一并问世

****POSIX**** Portable Operating System Interface 可移植操作系统接口,用于在UNIX系统上运行软件而定义API的一系列互相关联的标准总称

*Minix* 基于微内核架构的类UNIX系统,用于开源给大学教学和研究工作的系统。可以理解为迷你版UNIX系统,使用C语言以及汇编语言编写。 由阿姆斯特丹的塔能鲍姆(Andrew S. Tanenbaum)教授为避免UNIX版权问题,同时也能兼顾到UNIX系统的课堂教学而编写的类UNIX系统。

Linux的发行版本

Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举

发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。已经有超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个

常见Linux发行版本:

Fedora Core

Debian

Mandrake

Ubuntu

Red Hat Linux

SuSE

Gentoo

CentOS

Linux虚拟机

常用虚拟机主要有两种,分别是Vmware(威睿)和Oracle的VitrualBox,课上使用普及度更为广泛的Vmware

VM安装参考Vmware-workstation安装手册

Linux镜像使用CentOS6版本,安装参考CentOS操作系统安装手册

备注:

1)虚拟机内存选择512M将只会安装命令提示界面,达到1G将会安装X-Window界面和命令提示界面

2)从虚拟机切入到外部程序使用ctrl+alt,返回虚拟机鼠标左键点入即可

3)命令提示界面与X-Windows界面切换使用ctrl+alt+f1(命令提示界面)和ctrl+alt+f2(窗体界面)

Linux的目录结构:

bin: 系统命令的存放目录

boot: 系统启动文件的存目录

dev: 系统设备文件目录

etc: 系统配置文件目录

home: 用户登录的主目录

lib: 系统函数的存放目录

opt: 额外软件安装的存放目录

root: 管理员账户登录的主目录

tmp: 系统临时文件存放目录

usr: 应用程序存放目录

var: 系统执行中变化文件的存放目录

Linux的网络调试:

Linux系统支持Intenet网络,在很多时候需要使用到网络连接,比如下载工具或程序包、远程文件访问、服务器远程连接、数据库远程连接等。

默认情况下虚拟机没有启动网卡,因此无法使用网络,需要手动设置才能连网

虚拟机提供的连网方式主要分为以下两种:

1) 桥连

2) NAT转换连接

桥连是将虚拟交换机与物理主机进行连接,再将虚拟机接入虚拟交换机以达到虚拟机与主机连接的方式,因此要求虚拟机的IP地址与物理主机的IP地址在同一个网段内,网关、DNS应保持一致

NAT转换连接 由虚拟机虚拟DHCP服务器,该服务器负责动态分配连入虚拟设备的IP地址,再由虚拟机创建虚拟交换机,该虚拟交换机与DHCP服务器进行连接,NAT虚拟设备负责将物理主机进行IP转换。整个连接过程是将物理主机和虚拟机都连入虚拟交换机。

桥连步骤:

1) 进入虚拟机设置,修改网络连接模式为桥接

2) 键入vi /etc/sysconfig/network-scripts/ifcfg-eth0

3) 修改配置文件

4) 键入service network restart 加载修改后的网络配置

5) ping物理主机查看网络是否通畅

NAT连接步骤

1) 进入虚拟机设置,修改网络连接模式

2) 键入vi /etc/sysconfig/network-scripts/ifcfg-eth0

3) 修改配置文件

4) 键入service network restart 加载修改后的网络配置

5) ping物理主机查看网络是否通畅

ctrl+z退出当前命令模式

文件目录常用命令:

查看目录

ls [-a|-l]

-a参数用于显示隐藏文件

-l参数用于显示详细列表信息 (ls -l 等于 ll)

目录查看信息

总用量表示文件块的数量(每块文件为1024字节)

第一列表示文件类型与权限

第二列表示文件数量

第三列表示文件所属用户

第四列表示文件所在用户组

第五列表示文件占用大小(非实际大小)

文件权限

文件类型

d 代表文件目录

- 代表文件

| 代表链接

c 字符设备

b 块文件,硬盘

权限类型

r 表示可读权限

w 表示可写权限

x 表示执行权限

- 表示没有权限

修改权限

chmod u=[rwx],g=[rwx],o=[rwx] 文件名

u 表示文件所属用户的权限

g 表示文件所在组的权限

o 表示其他用户权限

a 表示所有人

目录切换

cd 文件路径 切换到对应路径的文件

cd …/ 切换到上一层目录

cd / 切换到根目录

cd ~ 切换到当前用户的主目录(root在/下,其它的一般在home下)

cd - 切换到上一次目录

创建目录

mkdir 文件夹名称

mkdir -p 文件夹名称(多级目录)

修改文件或目录名称

mv 源文件名 新文件名

​ 如果新文件名路径是已经存在的,则执行剪切操作

​ 如果新文件名路径是不存在的,则进行重命名

删除目录

rmdir 文件夹名称 (注:必须是空文件夹)

rm [-rf] 文件夹名称 (注:无论是否为空都删)

-r 递归

-f 强制

创建文件

touch 文件名 (后面可加多个文件名,都是空文件)

拷贝文件

cp [-r] 原文件 新文件

-r 用于递归拷贝文件夹中的子文件

​ 注:如果重复复制,覆盖会默认进行询问,如果想强制执行不询问: \\cp -r 路径

剪切文件

mv 路径 目标路径

mv oldName newName 重命名

删除文件

rm [-rf] 文件名

-r 递归删除子文件

-f 强制删除文件并不提示信息

文件查看

pwd

显示当前工作路径(绝对路径)

cat 文件名 (只读的方式打开) -n: 显示行号 (通常会和more一起使用, 用管道符号 | 连接两个命令 ----能够分页显示)

more 文件名

head –n 行数 文件名

tail –n 行数 文件名

​ -f 文件名 实时追踪文件的所有更新

less 文件名 /字符串 搜索

more 可以看到当前显示的文件量的百分比,使用enter切换下一行,space切换下一页,q直接退出查看

less 查看文件可以使用pageup或者pagedown翻页(分屏查看文件内容,不是一次性将整个文件加载后才显示,是根据你要显示的内容进行查询。大文件效率比较高)

tail 用于从文件尾部查看指定行数的信息 ,默认输出最后的10行内容

head 用于从文件头部查看指定行数的信息 , 默认情况下显示前十条信息

输入内容到控制台

echo “hello” ----打印hello

文件编辑

vi 文件名

使用该命令进入查看模式,可以预览当前文件内容

键入i命令进入编辑模式

在编辑模式中键入esc键退出编辑模式

编辑模式中可以对文件进行修改操作,如需保存文件应先退出编辑模式,再使用:wq保存并退出查看模式,回到系统提示命令位置

w命令用于写入修改的内容

q命令用于结束文件编辑

q!命令用于强制退出文件修改后不需要保存的情况

文件打包与压缩 & 解压

Linux中打包文件的后缀名是.tar,压缩文件后缀名是.gz,通常情况文件的打包与压缩是并行的,所以Linux中的的压缩文件后缀名是.tar.gz

文件打包压缩

tar –zcvf 打包压缩后的文件名 源文件 源文件

-z 使用gzip方式归档

-c 创建新的文件

-v 列出处理的文件目录

-f 使用归档文件

文件解压

tar –xzvf 压缩文件名

-x 解压文件

-v 列出处理的文件目录

-z 使用gzip方式归档

-f 使用归档文件

解压.tar文件 使用tar –xvf

解压.tar.gz文件 使用tar –xzvf

网络常用命令

查看当前网络信息:

ifconfig –a

iptables(防火墙)启用

iptables -P INPUT ACCEPT

service iptables save

service iptables start

查看端口占用

netstat -ntlp

netstat -ntlp | grep 8080 查看8080端口的占用

用户管理命令

添加用户

  1. 语法:useradd [选项] 用户名

    -d 指定家目录 绝对路径

    -u uid

    -g gid

  2. 默认值会做的3件事:

    ​ 在etc/passwd里面建立账号相关的数据

    ​ 在etc/shadow中生成账号密码相关参数

    ​ 在etc/group中生成账号名称相同的组名

    ​ 在/home下创建对应的同名家目录

添加密码

passwd 用户名

删除用户

userdel [选项] 用户名 默认情况下不删除家目录

userdel -r 用户名 删除用户的同时删除用户的家目录

查看文件的所有者

ls -ahl 文件名

​ -h: 大概就是以合理的单位显示文件的大小

修改用户所在组

usermod -g 组名 用户名

修改文件所在组

chgrp 组名 文件名

修改文件所有者

chown 新用户名 文件名

查询用户信息

id 用户名

切换用户

su 用户名

从权限高的用户降到低的用户,不需要输入密码,反之就需要

返回当前用户,输入exit即可

类似于角色,系统可以对具有共性的多个用户进行一些统一的管理

添加用户组

groupadd 组名

删除用户组

groupdel 组名

增加用户同时指定用户组

useradd -g 用户组 用户名

切换用户的组

usermod -g 用户组 用户名

权限管理常用命令

介绍

一般文件的创建者,谁创建了该文件,默认就成为该文件的所有者。

0-9位说明

第0位确定文件类型(d, - , l , c , b)

第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User

第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group

第7-9位确定其他用户拥有该文件的权限 —Other

针对于文件

r:read表示可以读 4

w:write表示可以写 2

x:execute代表可执行 1 绿色

针对目录

r:read表示可以读 ls查看目录内容

w:write表示可以写 目录内创建,删除,重命名目录

x:execute代表可执行 可以进入该目录

注意点:文件大小 如果是文件夹 显示4096,文件:字节数(结束符)

如果希望同组的用户能够访问自己的目录,就把目录开放给同组

注:wukong,bajie是用户名

修改权限

语法:chmod 权限 文件名 可以修改文件或目录的权限

  1. 第一种:+,-,=变更权限

    u:所有者 g:所有组 o:其他人 a:所有人(u,g,o,a)

    [root@zch home]# chmod u=rwx  abc.txt
    [root@zch home]# chmod g=rx  abc.txt
    [root@zch home]# chmod o=rx  abc.txt
    
    #注意:每条语句只能对u、g、o、a中的一种进行修改
    
  2. 第二种:通过数字变更权限

    规则:r=4 w=2 x=1

    rwx=7

    修改文件的所有者和所在组

    chown newowner:newgroup file

    如果是目录,需要使其下的所有子文件或子目录都生效

    -R 递归

任务调度

  1. 任务调度:是指在系统的某个时间执行特定的命令或程序

  2. 基本语法

    crontab [选项]

    -e 编辑crontab定时任务

    -l 查询crontab任务

    -r 删除当前用户所有的crontab

    文件: /etc/crontab

    */1 * * * * ls -l /etc/>>/tmp/to.txt

项目含义范围
第一个“*”一小时当中的第几分钟0-59
第二个“*”一天当中的第几小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周当中的星期几0-7**(07都代表星期日)**

特殊符号:

特殊符号含义
*代表任何时间。比如第一个就代表一小时中每分钟都执行一***次的意思。
代表不连续的时间。比如“0 8,12,16 * * * 命令,就代表在每天****的80分,120分,160分都执行一次命令
-代表连续的时间范围。比如“0 5 * * 1-6命令,代表在周一到周****六的凌晨50分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令,代表每隔10分钟就执行一遍命令

网络配置

使用动态ip

​ 它会重新启动后可能会发生ip的改变

查看网络IP

​ 语法:ifconfig

​ 测试网络是否连通:ping ip地址

网络配置

​ (1)自动获取

​ (2)指定固定的IP

修改配置文件来指定IP

vi /etc/sysconfig/network-scripts/ifcfg-eth0

重启网络:

service network restart

进程管理命令

  1. 什么是进程

(1)在linux中,每个执行的程序(代码)都称为一个进程,每一个进程都分配一个ID

(2)每一个进程,都会有一个父进程,这个父进程可以复制多个子进程

(3)每个进程可以有两种存在方式,前台和后台(守护进程),用户可以直接在屏幕中进行操作的,后台进程实际在操作,但是在屏幕上无法看到的进程,通常以后台方式执行的

(4)一般系统的服务都是以后台进程的方式存在的,而且都会常驻在系统中,直到关机才结束。

显示系统执行的进程

指令**:ps [选项]**

-a: 显示当前终端中的所有进程

-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数

USER:用户名称

PID:进程号

%CPU:进程占用CPU的百分比

%MEM:进程占用物理内存的百分比

VSZ:进程占用的虚拟内存大小(单位:KB)

RSS:进程占用的物理内存大小(单位:KB)

TT:终端名称,缩写 .

STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通

优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

STARTED:进程的启动时间

TIME:CPU时间,即进程使用CPU的总时间

COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

PS指令的用法

指令:ps -aux|grep xxx

ps全格式

ps -ef

ps -ef | grep xxx

全格式的方式显示当前所有的进程

E:显示所有进程

F:全格式

终止进程

指令:kill和killall

基本语法:

Kill [选项] 进程号

Killall 进程名(支持通配符* killall a*)

选项:

-9:表示强迫进程立即终止

查看树进程

pstree [选项]

更直观点

-p:显示进程的PID

-u:显示进程所属的用户

服务(service)管理

服务本质上是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序来请求,就是守护进程。

service管理指令

Service 服务名 [start|stop|restart|reload|status]

开启或关闭都是立即生效的

Windows中使用telnet来测试

临时生效,一旦重启,就会回归以前的设置。

查看服务

(1)通过setup查看

(2)/etc/init.d

设置服务状态

hkconfig :命令表示可以给每个服务的****各个运行级别****设置自启动/关闭

语法:

查看

**chkconfig --list|**grep xxx

修改:

chkconfig --level 级别号 服务名 on/off

生效必须进行重启reboot

动态监控进程

指令:top [选项]

与ps指令最大的不同,top执行一段时间以后更新正在运行的进程。

-d 指定更新相隔时间 默认是3秒

-i 不显示闲置和僵死进程

-p 通过指定进程id来监控某一个进程

操作功能
PCPU使用率排序,默认就是此项
M以内存的使用率排序
NPID排序
q退出top

监视特定用户:

Top输入后再输入u

终止进程:输入k

查看系统网络情况

指令:netstat [选项]

netstat -anp

-an:按照一定顺序排列输出

P:显示哪个进程在调用

包的管理

RPM查询指令

(1)查询已经安装的rpm列表

rpm -qa|grep xx

(2) 查询某个软件是否安装

rpm -q xxx

(3)查询软件包的名字

rpm -qi xxx

(3) 查询软件包中的文件所在位置,安装路径

rpm -ql xxx

RPM卸载包

rpm -e 包名

如果存在依赖关系,可以进行强制删除

Rpm -e –nodeps 包名 不建议

安装RPM包

语法:

*rpm -ivh 包名*

I:install安装

v:提示

h:进度条

Yum

包管理工具,基于RPM,可以自动下载,并自动处理依赖关系。

前提:必须联网

查找:

yum list|grep xx软件列表

安装

yum install xxx软件名

Vim常用命令









其他命令

> 和 >>

“ > ” 和 >>:

“>” 输出重定向

“>>" 追加,不会覆盖原文件内容,而是追加到文件的尾部

指定运行级别

7个级别

运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启

指定默认运行级别 修改默认运行级别

在/etc/inittab

注:在7以后的centos已经弃用了

切换运行级别

Init [0,1,2,3,5,6]

如何找回root密码,修改,进入单用户模式

**开机引导界面输入回车---输入e  ----新界面里选中第二行(编辑内核)---再输入e----在最后的字符后输入空格 1回车----进入单用户模式----passwd  root**

帮助命令

(1)man [命令或者配置文件]

(2)help

ln指令

软链接也叫符号链接 快捷方式()

ln -s 源文件 软链接名

rm -rf 软链接名 (源文件还在,软连接没了)

history指令

查看已经执行过的历史指令

History n 显示最近执行的n条历史指令

! 输入history显示的编号 可以直接执行历史指令

时间日期类

  1. date

    显示当前日期(注:+也要打上去)

    ​ +%Y 年份

    ​ +%m 月份

    ​ +%d 日期

    date “+%Y-%m-%d %H:%M:%S” —格式化

    date -s 字符串时间 —设置时间

  2. cal

    查看日历信息 默认显示本月日历

    cal 年份 --显示该年所有月的日历

搜索查询

  1. find指令

    从指定目录向下递归的遍历各个子目录,将满足条件的文件或目录显示在终端

    find 「搜索范围,就是目录」「选项」

    -name 按照指定的文件名查找

    -user 按照指定的用户进行查找

    -size 按照文件大小进行查找

    ​ +10M 表示超过10M的

  2. locate指令

    可以快速的定位文件的路径,必须经常更新数据表

    updatedb 更新locate数据库

    locate 文件名

  3. grep指令

    过滤查找,通常是管道符号 | 表示将处理结果输出传递给后面的命令处理

    grep 「选项」 查找的内容 源文件

    ​ -n 显示行号

    ​ -i 忽略大小写

压缩和解压缩

  1. gzip/gunzip

    gzip : 用于压缩文件 *.gz

    gunzip: 用于解压缩

    用的不多,源文件不保留

  2. zip/unzip

    zip: 压缩成 xx.zip

    unzip: 解压缩

    -r: 递归压缩

    -d: 指定解压缩的存放目录

  3. tar指令

    既可以打包,也可以解压, 后缀tar.gz

    tar 「选项」名字 打包的内容

    ​ -c 产生txt文件

    ​ -v 显示详细信息

    ​ -f 指定压缩后的文件名

    ​ -z 打包同时进行压缩

    ​ -x 解压.tar文件

    zcvf 压缩 zxvf解压缩

安装文件上传工具lrzsz

yum install lrzsz

安装完成后使用rz命令可以将本地文件上传至Linux系统

如果yum下载镜像失败,使用yum clean all清除缓存

Linux上的JDK安装

(1)安装包传输到linux /opt

(2)tar -zxvf jdk包名

(3)配置环境变量

(4)Vim /etc/profile


(5)source /etc/profile或注销

安装VIM

yum –y install vim

如果vim命令打开文件没有改变文本颜色使用vi修改 ~/.bashrc文件,添加

alias vi=‘vim’

Linux上的Tomcat安装

1) 使用rz命令上传Tomcat包

2) 使用tar –xzvf命令解压Tomcat

3) 禁用防火墙 /etc/init.d/iptables stop

4) 进入解压后Tomcat/bin目录,使用./startup.sh命令开启Tomcat

5) 主机远程访问虚拟机Tomcat主页 http://虚拟机ip地址:8080

6) 关闭服务使用./shutdown.sh

Linux上的mysql安装

CentOS中已经包含了默认的MySQL套件,在安装前需要先删除默认数据库

1) 使用rpm –qa | grep mysql 查询是否存在mysql套件

2) 如果存在,使用rpm –e --nodeps mysql套件名 执行删除

3) 使用rz命令上传mysql套件

4) 使用tar –xvf解压,解压后将包含以下文件

5) 添加mysql的安装依赖

yum –y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

6) 安装perl 使用命令yum -y install perl

7) 执行rpm –ivh MySQL-server-5.6.22-1.el6.686.rpm安装服务器

8) 执行service mysql start启动服务

9) 执行rpm –ivh MySQL-client-5.6.22-1.el6.686.rpm安装客户端

  1. 执行mysql –u root –p连接数据库

备注:MySQL安装会将默认创建root,并将密码保存在/root/.mysql_secret文件中

11) 登入数据库后修改密码:

a) use mysql;

b) update user set password=password(“新密码”);

c) 或者set password=password(“新密码”);

12) 默认情况下mysql不支持远程访问,设置远程访问权限

grant all privileges on . to root@’%’ identified by “密码”;

flush privileges;

13) 设置mysql的对外访问端口3306

sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

etc/rc.d/init.d/iptables save

安全模式登陆mysql(免密码)

1) killall -TERM mysqld

2) mysqld_safe --skip-grant-tables &

彻底删除安装mysql

1) rpm –qa|grep mysql 查看mysql安装情况

2) rpm –e –nodeps mysql数据库名 删除数据库

3) find / -name mysql 查找之前安装过mysql的目录

4) 使用rm –rf将mysql目录删除

5) rm –rf /etc/my.cnf配置文件

mysql的中文写入问题

mysql默认字符集是latin1,所以不支持中文的写入

使用show variables like ‘character_set_%’;查看数据库字符集

解决方式:

1) 修改/usr/my.cnf文件,添加以下内容

[client]

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

2) service mysql restart重启数据库服务

3) 查看数据库字符集 character_set_database应为utf8

4) 需要删除原数据表,数据库重新新建!

开机启动mysql服务

chkconfig – add mysql

chkconfig mysql on

以上是关于Linux笔记的主要内容,如果未能解决你的问题,请参考以下文章

每天一点Linux小笔记!

Linux 系统 Vi和Vim编辑器—笔记7

Kali学习笔记5:TCPDUMP详细使用方法

Linux学习记录:Makefile

Linux 编程笔记

初识linux笔记