linux下的etc是什么意思

linux下的etc是什么意思,第1张

/etc

etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留.

这个目录一般用来存放程序所需的整个文件系统的配置文件.

/etc目录

包含很多文件.许多网络配置文件也在/etc 中.

/etc/rc or/etc/rc.d or/etc/rc*.d

启动、或改变运行级时运行的scripts或scripts的目录.

/etc/passwd

用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.

/etc/fdprm

软盘参数表.说明不同的软盘格式.用setfdprm 设置.

/etc/fstab

启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表.Linux下,也包括用swapon -a启用的swap区的信息.

/etc/group

类似/etc/passwd ,但说明的不是用户而是组.

/etc/inittab

init 的配置文件.

/etc/issue

getty在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.

/etc/magic

file 的配置文件.包含不同文件格式的说明,file 基于它猜测文件类型.

/etc/motd

Message Of TheDay,成功登录后自动输出.内容由系统管理员确定.经常用于通告信息,如计划关机时间的警告.

/etc/mtab

当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df命令.

/etc/shadow

在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对root可读.这使破译口令更困难.

/etc/login.defs

login 命令的配置文件.

/etc/printcap

类似/etc/termcap ,但针对打印机.语法不同.

/etc/profile , /etc/csh.login ,/etc/csh.cshrc

登录或启动时Bourne或Cshells执行的文件.这允许系统管理员为所有用户建立全局缺省环境.

/etc/securetty

确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.

/etc/shells

列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.

/etc/termcap

终端性能数据库.说明不同的终端用什么"转义序列"控制.写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列.这样,多数的程序可以在多数终端上运行

/etc目录下一般存放系统和程序所需的配置文件。

例如:/etc/passwd 为系统用户数据库;/etc/fdprm 为软盘参数表;/etc/group 为系统用户组数据库。

/var目录下一般为所有服务的登录的文件或错误信息文件与一些数据库等。

例如:/var/log/boot.log 为系统引导文件;/var/log/messages 为系统报错日志; /var/log/maillog 为邮箱系统日志。

扩展资料:

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

参考资料:linux /var目录详解Linux下/etc目录详解

一、linux安装,按百度上mysql安装步骤进行,参考:https://www.jianshu.com/p/276d59cbc529

我是自己从windows先把mysql的linux包下下来,通过共享的方式将mysql的安装包复制到linux *** 作系统的/usr/local/mysql 路径下

1、我下载的包是:mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

故先解压再安装

1)xz -d mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

2)tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar

2、查看linux系统下是否有安装mysql,有的话先卸载,查看命令

whereis mysql;find / -name mysql

将查找出来的文件和目录都删除掉,删除后再用以上命令查看是否删除干净

3、为mysql创建所属用户组和用户名(如果用户组和用户名存在就无需创建了,使用cat /etc/group | grep mysqlcat /etc/passwd | grep mysql)

groupadd mysql

useradd -r -g mysql mysql

4、在/usr/local/mysql创建data目录

mkdir /usr/local/mysql/data

5、将mysql设置权限

chown -R mysql:mysql /usr/local/mysql

chmod -R 755 /usr/local/mysql

6、 编译安装并初始化数据库

cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

编译安装初始化数据库的时候出现问题报没有libaio这个软件

可通过yum进行安装该软件:yum install libaio-devel.x86_64

如果你不知道包名是什么,可通过 yum search libaio,会列出来相关的包,选择你要安装的包就可以了

初始化成功后:记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。

7、编辑配置文件my.cnf

此处我打开后my.cnf默认有如下:

[mysqld]

datadir=/var/mysql/data

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

随后我根据参考步骤将其余几项也添加进去,且修改了datadir 将socket这项删除了

[mysqld]

datadir=/usr/local/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0

max_connections=600

innodb_file_per_table=1

lower_case_table_names=1

character_set_server=utf8

8、启动mysql服务器

/usr/local/mysql/support-files/mysql.server start

问题来了,怎么都启动不了,老是说the server PID file not found

我将百度上所有的方法都试了一边都不行,百度上的方法有如下:

MySQL server PID file could not be found! 解决办法

1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限

解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!

2.可能进程里已经存在mysql进程

解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动

解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186

4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)

解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

5.skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6.错误日志目录不存在

解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

7.selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

8.解决办法

cd/usr/local/mysqlcd/usr/local/mysqlchown -R mysql.mysql .

su−mysqlsu−mysql cd /usr/local/mysql

scripts/mysqlinstalldbscripts/mysqlinstalldb exit

/etc/init.d/mysqld restart

上面没有解决的话,查看磁盘空间大小 df -h 清空binlog

如果上面都不成的话,最终解决办法,如果是主从的话,要重新同步

删除了 ib_logfile0 和 ib_logfile1 两个文件,就正常了

后面我从另外一篇文档上找到了根本原因https://blog.51cto.com/ludihua/1431544,意思是参考自己数据库编译安装初始化的时候的错误日志,根据错误的日子去找原因,我在/usr/local/mysql/data/centos7.err里找到了,就是说mysql启动时使用的datadir是错误的,告诉我需要重新创建data,

此后我将原先的data改名为data1,再次重新初始化一下生成data后,就可以正常启动了。(个人认为肯定是初始化的时候,datadir没有将my.cnf中的datadir覆盖导致的)

9、为mysql启动创建软连接:

ln -s /usr/local/mysql/bin/mysqld /usr/bin/mysql

10、数据库好不容易装好后,有忘记数据库登录的密码,修改密码也耗了好多时间,因为不知道mysql5.6以上版本将password()这个函数去掉了,mysql8.修改登录密码如下:

参考:https://www.cnblogs.com/nuanyingzi/p/13432465.html

1) 进入配置文件 vim /etc/my.cnf 添加代码 skip-grant-tables 即可跳过mysql密码验证进行登录

2)重启mysql

3)需要先将root密码置空 update user set authentication_string='' where user = 'root'

4)再次编辑配置文件my.cnf 去除免密码登陆

修改mysql配置,删掉或注释掉步骤1中添加的语句 skip-grant-tables

5)重启服务

service mysql restart

6)修改密码,执行如下命令:

mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了

开始修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'

FLUSH PRIVILEGES


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9961775.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存