CentOS7.2通用二進制格式安裝mariadb-5.5.46-linux-x86_64.tar.gz文檔與啟動時失敗排查分析
CentOS7.2通用二進制格式安裝mariadb-5.5.46-linux-x86_64.tar.gz
提前準備好mariadb-5.5.46-linux-x86_64.tar.gz
[[email protected] ~]# groupadd -r -g 306 mysql ###添加mysql用戶
[[email protected] ~]# useradd -r -g 306 -u 306 mysql ###添加mysql組
[[email protected] dylan]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
[[email protected] dylan]# cd /usr/local/
[[email protected] local]# ln -sv mariadb-5.5.46-linux-x86_64/ mysql ###創建mysql鏈接
[[email protected] local]# cd mysql
[[email protected] mysql]# chown -R root.mysql ./* ###更改屬組屬組
[[email protected] mysql]# mkdir -pv /mydata/data ###創建數據目錄
mkdir: 已創建目錄 "/mydata"
mkdir: 已創建目錄 "/mydata/data"
[[email protected] mysql]# chown -R mysql.mysql /mydata/data/ ###更改數據目錄權限
[[email protected] mysql]# mkdir /etc/mysql
###將選擇的配置文件復制至/etc/mysql/中,並重命名為my.cnf
[[email protected] mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf
[[email protected]
thread_concurrency = 8
datadir = /mydata/data ###設定數據文件目錄
innodb_file_per_table = ON
skip_name_resolve = ON ###跳過主機名解析
###復制mysqld的服務管理文件至/etc/rc.d/init.d並命名為mysqld
[[email protected] mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[[email protected] mysql]# ls -l /etc/rc.d/init.d/mysqld
-rwxr-xr-x. 1 root root 12196 6月 20 22:28 /etc/rc.d/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld ###添加服務
###程序初始化,指定用戶為mysql,數據目錄為/mydata/data
[[email protected] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
[[email protected] mysql]# service mysqld start
Starting MySQL. ERROR! ###啟動錯誤
###編輯selinux,關閉selinux
[[email protected] mysql]# vim /etc/selinux/config
SELINUX=disabled
[[email protected] mysql]# getenforce
Enforcing
[[email protected] mysql]# setenforce 0
[[email protected] mysql]# getenforce
Permissive
###此時啟動依然出錯,mysql讀取配置文件不僅僅有一個,mysql進程會以此去找很多個位置,並使用最後的作為最終的配置。
[[email protected] /]# /usr/local/mysql/bin/mysql --help --verbose ###查看讀取次序
/usr/local/mysql/bin/mysql Ver 15.1 Distrib 5.5.46-MariaDB, for Linux (x86_64) using read
line 5.1Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Usage: /usr/local/mysql/bin/mysql [OPTIONS] [database]
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf ###讀取順序
###於是查看/etc/my.cnf文件,在log-error=/var/log/mariadb/mariadb.log中,於是查看/var/log/中不存在mariadb目錄,需手動創建,或者將此註銷掉,否則啟動服務會失敗。
[[email protected] rc.d]# vim /etc/my.cnf
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log ###錯誤日誌路徑
pid-file=/var/run/mariadb/mariadb.pid
###查看/var/log/下並沒有mariadb目錄,於是有三種方法解決:
1.mv /etc/my.cnf /etc/my.cnf.bak ###使/etc/my.cnf失效
2.vim /etc/my.cnf
#log-error=/var/log/mariadb/mariadb.log ###註銷掉
3.mkdir /var/log/mariadb ###創建mariadb目錄
[[email protected] mysql]# mkdir /var/log/mariadb ###此處使用第三種方法
[[email protected] mysql]# service mysqld start
Starting MySQL... SUCCESS! ###成功啟動
###修改環境變量
[[email protected] rc.d]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[[email protected] rc.d]# source /etc/profile.d/mysql.sh ###重讀此配置文件
###導出頭文件
[[email protected] rc.d]# ln -sv /usr/local/mysql/include/ /usr/include/mysqld
"/usr/include/mysqld" -> "/usr/local/mysql/include/"
###導出庫文件
[[email protected] ld.so.conf.d]# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
[[email protected] ld.so.conf.d]# ldconfig ###系統重載入系統庫
[[email protected] ld.so.conf.d]# ldconfig -p |grep mysql ###查看庫文件讀取
libmysqld.so.18 (libc6,x86-64) => /usr/local/mysql/lib/libmysqld.so.18
libmysqld.so (libc6,x86-64) => /usr/local/mysql/lib/libmysqld.so
libmysqlclient.so.18 (libc6,x86-64) => /usr/lib64/mysql/libmysqlclient.so.18
libmysqlclient.so.18 (libc6,x86-64) => /usr/local/mysql/lib/libmysqlclient.so.18
libmysqlclient.so (libc6,x86-64) => /usr/local/mysql/lib/libmysqlclient.so
###mysql安全加固
[[email protected] bin]# mysql_secure_installation ###運行此命令進行設置
本文出自 “11290766” 博客,請務必保留此出處http://rylan.blog.51cto.com/11290766/1940437
CentOS7.2通用二進制格式安裝mariadb-5.5.46-linux-x86_64.tar.gz文檔與啟動時失敗排查分析