MySQL数据库多种安装方法及企业级安装实践(下篇)(2)
#从上文说明中可以看到数据库启动时会读取/etc/my.cnf,因此有可能会导致无法启动,避免的方法就是使用mysqld_safe 启动服务时采用–defaults-file参数指定配置文件,前文已将/etc/my.cnf改名了,所以,就不需要指定参数了,这里是一个坑,读者要注意. 此步骤必须要初始化成功,否则,后面会出现登录不了数据库等各种问题. (2)初始化数据库的原理及结果说明 初始化数据库的实质就是创建基础的数据库系统的库文件,例如:生成MySQL库表等. 初始化数据库后,查看数据目录,可以看到多了如下文件: [root@oldboy mysql-5.6.34]# ls -l /application/mysql/data total 110604 -rw-rw—-. 1 mysql mysql 12582912 Feb 26 18:08 ibdata1 -rw-rw—-. 1 mysql mysql 50331648 Feb 26 18:08 ib_logfile0 -rw-rw—-. 1 mysql mysql 50331648 Feb 26 18:08 ib_logfile1 drwx——. 2 mysql mysql?? ??4096 Feb 26 18:08 mysql???#<==用于存放管理mysql的数据. drwx——. 2 mysql mysql???? 4096 Feb 26 18:08 performance_schema??#<==5.5及以上增加的内部性能库. drwxr-xr-x. 2 mysql mysql???? 4096 Feb 26 17:48 test????#<==用于测试的test数据库. [root@oldboy mysql-5.6.34]# tree /application/mysql/data?#<==如果没有tree,可以yum install tree?–y安装 /application/mysql/data ├── ibdata1 ├── ib_logfile0 ├── ib_logfile1 ├── mysql │???├── columns_priv.frm │???├── columns_priv.MYD │???├── columns_priv.MYI …省略若干… │???├── general_log.CSV │???├── general_log.frm │???├── help_category.frm │???├── procs_priv.frm │???├── procs_priv.MYD │???├── procs_priv.MYI │???├── proxies_priv.frm │???├── proxies_priv.MYD │???├── proxies_priv.MYI │???├── servers.frm …省略若干… │???├── time_zone_name.MYI │???├── time_zone_transition.frm │???├── time_zone_transition.MYD │???├── time_zone_transition.MYI │???├── time_zone_transition_type.frm │???├── time_zone_transition_type.MYD │???├── time_zone_transition_type.MYI │???├── user.frm │???├── user.MYD │???└── user.MYI ├── performance_schema │???├── accounts.frm │???├── cond_instances.frm │???├── db.opt │???├── events_stages_current.frm │???├── events_stages_history.frm │???├── events_stages_history_long.frm │???├── events_stages_summary_by_account_by_event_name.frm …省略若干… │???├── threads.frm │???└── users.frm └── test ??? └── db.opt 3 directories,136 files (3)MySQL初始化故障排错集锦 本节的所有故障必须要解除,后面会出现登录不了MySQL数据库等各种问题,故障集锦见本章结尾内容. 3.2.4配置并启动MySQL数据库1)设置MySQL启动脚本 [root@oldboy mysql-5.6.34]# pwd /home/oldboy/tools/mysql-5.6.34 [root@oldboy mysql-5.6.34]# cp support-files/mysql.server /etc/init.d/mysqld?#<==拷贝mysql启动脚本到mysql的命令路径. [root@oldboy mysql-5.6.34]# chmod 700 /etc/init.d/mysqld??#<==使脚本可执行. [root@oldboy mysql-5.6.34]# ls -l /etc/init.d/mysqld -rwx——. 1 root root 10929 Feb 26 18:26 /etc/init.d/mysqld 2)启动MySQL数据库 #<==这是启动数据库规范方法之一,还可以使用/application/mysql/bin/mysqld_safe –user=mysql &启动.这个命令结尾?“&”符号作用是,在后台执行mysql服务,这条命令执行完 还需要按下回车才能进入到命令行状态. #<==注意,如果已执行上面/etc/init.d/mysqld start启动命令,还想尝试下面mysqld_safe的命令,请先执行/etc/init.d/mysqld stop结束mysql进程. [root@oldboy mysql-5.6.34]# cd ~ [root@oldboy mysql-5.6.34]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! 提示:禁止使用pkill、kill -9、killall -9等命令强制杀死数据库,这会引起数据库无法启动等故障发生.企业中曾发生过的血的教训案例请看http://oldboy.blog.51cto.com/2561410/1431161. 3)检查MySQL数据库是否启动. [root@oldboy ~]# netstat -lntup|grep mysql? tcp??????? 0????? 0 :::3306????????????? :::*????????????????? LISTEN????? 48065/mysqld 如发现3306端口没起来.请使用tail -100 /application/mysql/data/机器名.err检查日志报错进行调试.经常查看服务运行日志是个很好的习惯,也是高手的习惯,你要不要成为高手? 4)查看MySQL数据库启动结果日志. [root@oldboy ~]# tail /application/mysql/data/oldboy.err 2017-02-26 17:38:36 48065 [Note] InnoDB: Waiting for purge to start 2017-02-26 17:38:36 48065 [Note] InnoDB: 5.6.34 started; log sequence number 1625987 (编辑:ASP站长网) |