mysqldba 系统学习(3)mysql 的启动停止:一,mysqld:mysqld 是 mysql 的服务,mysqld 这种方式启动的时候会读取 my.cnf 文件中的 [mysqld] 和[server]组 group。
(每一个组都有 [] 来分割)
一般的,我们通过这种方式手动的调用 mysqld,如果不是出去调试的目的,我们一般都不这样做。
因为这种方式会使错误日志直接从终端输出,而不是记录在错误日志文件中,这样,如果 mysql 崩溃的话
我们也不知道原因。
连接方法
start
- [root@test4~]# / usr / local / mysql / libexec / mysqld--defaults - file = /etc/my.cnf--user = mysql130617 7 : 22 : 58[Note] Event Scheduler: Loaded 0 events130617 7 : 22 : 58[Note] / usr / local / mysql / libexec / mysqld: ready
- for connections.Version: '5.1.70-log'socket: '/tmp/mysql.sock'port: 3306 Source distribution[root@test4~]#ps aux | grep mysqlmysql 19327 0.0 1.3 125304 6648 pts / 0 Sl + 07 : 22 0 : 00 / usr / local / mysql / libexec / mysqld--defaults - file = /etc/my.cnf--user = mysqlconnnectmysqld--defaults - file = /etc/my.cnfmysqld - S / tmp / mysql.sock
二,mysqld_safe
mysqld_safe 这种方式启动的时候会读取 my.cnf 文件中的 [mysqld],[server] 和[mysqld_safe]组 group, 但是为了兼容,也会读取 [safe_mysqld] 这个组
mysqld_safe 是一个调用 mysqld 的 shell 脚本,它还设置了错误日志,它可以启动 mysqld 和 monitor mysqld 进程,这样,如果 mysqld 的进程异常终止,mysqld_safe 会重启 mysqld
- [root@test4~]# / usr / local / mysql / bin / mysqld_safe--defaults - file = /etc/my.cnf--user = mysql & [1] 20571[root@test4~]#130617 07 : 57 : 29 mysqld_safe Logging to '/usr/local/mysql/var/test4.wolf.org.err'.130617 07 : 57 : 29 mysqld_safe Starting mysqld daemon with databases from / usr / local / mysql /
- var [root@test4~]# [root@test4~]#ps aux | grep mysqlroot 20571 1.0 0.2 106012 1344 pts / 0 S 07 : 57 0 : 00 / bin / sh / usr / local / mysql / bin / mysqld_safe--defaults - file = /etc/my.cnf--user = mysqlmysql 20680 1.0 1.3 125308 6652 pts / 0 Sl 07 : 57 0 : 00 / usr / local / mysql / libexec / mysqld--defaults - file = /etc/my.cnf--basedir = /usr/local / mysql--datadir = /usr/local / mysql /
- var--user = mysql--log - error = /usr/local / mysql /
- var / test4.wolf.org.err--pid - file = /usr/local / mysql /
- var / test4.wolf.org.pid--socket = /tmp/mysql.sock--port = 3306
报错:
mysqld_safe Logging to '/usr/local/mysql/data/Linux.err'.
mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
mysqld_safe mysqld from pid file /usr/local/mysql/data/Linux.pid ended
解决方法:初始化 mysql
[root@test4 ~]# /usr/local/mysql/bin/mysql_install_db --user=mysql
二,mysql.server
mysql.server 是一个调用 mysqld_safe 的 shell 脚本
它的执行文件在 $MYSQL_BASE/share/mysql/mysql.server 和 support-files/mysql.server
mysql.server 的启动会读取 [mysql.server] 和[mysqld],为了兼容,也会读取 [mysql_server] 组
- [root@test4~]#cp mysql - 5.1.70 / support - files / mysql.server / etc / init.d / mysql[root@test4~]#chmod u + x / etc / init.d / mysqld[root@test4~]#service mysqld startStarting MySQL SUCCESS ! [root@test4~]#ps aux | grep mysqlroot 20571 0.0 0.2 106012 1344 pts / 0 S 07 : 57 0 : 00 / bin / sh / usr / local / mysql / bin / mysqld_safe--defaults - file = /etc/my.cnf--user = mysqlmysql 20680 0.0 1.3 125308 6652 pts / 0 Sl 07 : 57 0 : 00 / usr / local / mysql / libexec / mysqld--defaults - file = /etc/my.cnf--basedir = /usr/local / mysql--datadir = /usr/local / mysql /
- var--user = mysql--log - error = /usr/local / mysql /
- var / test4.wolf.org.err--pid - file = /usr/local / mysql /
- var / test4.wolf.org.pid--socket = /tmp/mysql.sock--port = 3306
来源: