MySQL Install--MySQL安装相关知识和问题
1、mysqld和mysqld_safe之间关系
mysqld_safe是一个启动脚本,用来启动MySQL服务器并监控MySQL服务的运行情况,并在其服务出现故障宕机后重启其服务。 mysql.server脚本其实也是调用mysql_safe脚本来启用MySQL服务器。 mysqld_safe通常做如下事情: 1. 检查系统和选项。 2. 检查MyISAM表。 3. 保持MySQL服务器窗口。 4. 启动并监视mysqld,如果因错误终止则重启。 5. 将mysqld的错误消息发送到数据目录中的host_name.err 文件。 6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件。 如在mysql进程因为内存溢出而关闭后,mysqld_safe进程检测到该问题后能自动重启mysqld,避免DBA人工介入。 如果要手动关闭mysqld进程,需要同时关闭mysqld_safe进程。
2、mysql相关可执行文件
mysqld是MySQL的守护进程,因此可以用mysqld来启动MySQL服务;
mysqld_safe是一个脚本,一个安全启动MySQL服务的脚本;
mysql.server也是一个脚本,通过mysqld_safe来启动MySQL服务。
mysqld_multi用于管理服务器上多个MySQL实例
mysqladmin用来配置和管理MySQL服务,也可以用来关闭MySQL服务
3、mysql服务启动时读取配置文件顺序
使用mysql --help可以看到mysql读取配置文件的顺序:
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /export/servers/mysql/etc/my.cnf ~/.my.cnf The following groups are read: mysql client The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file, except for login file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. --defaults-group-suffix=# Also read groups with concat(group, suffix) --login-path=# Read this path from the login file.
错误处理1:
在启动和关闭MYSQL数据库时,如果有如下提示: Warning: World-writable config file '/XXX/xxx/my.cnf' is ignored 表明当前MYSQL使用的配置文件权限存在问题,任何用户都可以修改MYSQL配置文件,存在安全隐患。 解决办法: 使用chmod来修改文件权限 chmod 644 /XXX/xxx/my.cnf 然后重启MYSQL服务。
错误处理2:
在使用mysql_install_db创建系统数据库时,显示错误: /usr/bin/perl: bad interpreter: No such file or directory 使用yum -y install perl安装perl 5后,错误变为: Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/bin/mysql_install_db line 42. BEGIN failed--compilation aborted at /usr/bin/mysql_install_db line 42 使用yum -y install perl-CPAN来安装perl-CPAN模块
错误处理3:
错误提示:The server quit without updating PID file
解决办法:修改/etc/selinux/config配置,设置SELINUX=disabled