3、mysql数据库安装方式
rpm包安装:如下图rpm版本是需要el7系统平台,x86_64架构。
glibc包安装:glibc优于rpm包,安装路径、端口、数据目录可以定制,但是功能不能定制,因为已经编译好了。
源码包安装:任何发行版本的linux平台、32/64架构都可以安装
官方文档
groupadd mysql #添加mysql组
useradd -r -g mysql -s /bin/false mysql # /bin/false 和/sbin/nologin一样的,不让此mysql系统用户访问操作系统,禁止登陆,而且比/sbin/nologin更严格。
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的起始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
这个是安全策略,派生出一个mysql用户和用户组,只用来运行mysql。apache的设置也是一样的,因为apache需要用到root权限,所以为了安全性,也会派生出一个apache用户和用户组,只让他完成apache的启动而已。创建用户时指定-r,指创建系统用户。系统用户是用来派生服务的,本身就不需要登录。功能主要就是设定某个程序的运行权限,避免去使用root登录。系统用户id范围1-499,很容易识别。在有些书里面成为派生用户/派生用户组。mysql用户是执行mysql程序的用户,这样mysql用户只能执行mysql程序,可以做到系统安全啊(因为不能登录,所以即使mysql服务被破坏了,当前用户权限也干不了多大的事情,也就搞不了多大的破坏)。这算是系统内应用隔离安全措施的一种。什么都用root会让系统很不安全的。
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz #下载的包解压到 /usr/local
shell> ln -s full-path-to-mysql-VERSION-OS mysql #解压出来的文件夹软链接到mysql,安装路径变为 /usr/local/mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql #mysql_install_db是一个默认放在.../mysql/scripts的一个初始化脚本。该脚本可以在任何装有perl的操作系统上被使用,在5.6.8之前的版本,该脚本是一个shell脚本,并只能在unix平台上使用。5.7.6以后的版本,该脚本也将被移除。运行这个脚本,会初始化mysql的data目录,并且创建那些系统表。同样也会初始化系统表空间并且关联innodb表与数据结构。截至5.6.8版本,在unix平台,mysql_install_db创建一个被命名为“my.cnf”默认的参数文件在base安装目录。该my.cnf是根据.../mysql/support-files/my-default.cnf所创建的。如果my.cnf已经存在,脚本会假定my.cnf正在被使用,并会创建一个被命名为“my-new.cnf”的文件。
shell> bin/mysqld_safe --user=mysql & # Next command is optional #启动数据库,bin/mysqld_safe --user=mysql 启动安全用户,如果是root用户登录,那么需要指定后面的 --user=mysql用户
shell> cp support-files/mysql.server /etc/init.d/mysql.server #/etc/init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本
https://www.iqiyi.com/v_19rum69gr8.html#curid=6800891000_46f3a90c98008436a41d9031b5061cfd
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现