启动Mysql数据库报错误:-bash: ./start.sh: Permission denied
linux下安装好Mysql数据库后,输入启动命令:
cd /home/homework/mysql && ./start.sh
回车后报如下错误:
原因是:该文件未有相关执行权限
解决办法:
第一步:(命令窗口输入命令)
chmod u+x *.sh
第二步:(命令窗口再次输入启动命令)
cd /home/homework/mysql && ./start.sh
即可正常启动Mysql;
Chmod详解
chmod:文件/目录权限设置命令
该命令用于改变文件或目录的访问权限。该命令有两种用法:
方法一:用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
who代表对象,是以下字母中的一个或组合:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
mode则代表权限:
r:可读
w:可写
x:可执行
举例:chmod u+x *.sh
方法二:用数字设定法
其语法格式为:chmod [mode] 文件名
其中mode的取值为三个阿拉伯数组组合,具体代表意思如下:
操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。
文件或目录的权限又分为3种:只读、只写、可执行。
权限 | 权限数值 | 二进制 | 具体作用 |
---|---|---|---|
r | 4 | 00000100 | read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
w | 2 | 00000010 | write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
x | 1 | 00000001 | execute,执行。当前用户可以执行文件,当前用户可以进入目录。 |
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
举例:chmod 644 test.txt