我們?cè)谑褂脃um安裝mysql數(shù)據(jù)庫(kù)的時(shí)候,他默認(rèn)指定的數(shù)據(jù)路徑是/var/lib/mysql,但是我們實(shí)際在給服務(wù)器分盤的時(shí)候會(huì)給服務(wù)器專門分一個(gè)盤用來(lái)放數(shù)據(jù),所以我們需要修改mysql的數(shù)據(jù)庫(kù)路徑。本文介紹mysql數(shù)據(jù)庫(kù)路徑修改的過(guò)程。
環(huán)境
centos6.x
mysql 5.1.73
目的
將默認(rèn)的數(shù)據(jù)庫(kù)路徑:/var/lib/mysql
修改成/data/mysql/database
假設(shè)我的mysql數(shù)據(jù)庫(kù)安裝在/data盤下,數(shù)據(jù)庫(kù)、日志、pid、sock等文件存放路徑如下:
數(shù)據(jù)庫(kù)路徑
/data/mysql/database
數(shù)據(jù)庫(kù)日志路徑
/data/mysql/log/mysqld.log
數(shù)據(jù)庫(kù)pid路徑
/data/mysql/run/mysqld.pid
數(shù)據(jù)庫(kù)sock路徑
/data/mysql/mysql.sock
開(kāi)始修改
1、鍵入如下命令,創(chuàng)建相關(guān)路徑:
mkdir -p /data/mysql/{database,log,run}
chown mysql:mysql /data/mysql -R
2、修改mysql配置文件,配置文件/etc/my.cnf,修改具體內(nèi)容如下:
[mysqld]
datadir=/data/mysql/database
socket=/data/mysql/mysql.sock
user=mysql
#字符集為utf8
character_set_server=utf8
#綁定地址為本機(jī),開(kāi)啟遠(yuǎn)程訪問(wèn)則修改為0.0.0.0
bind-address=127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
pid-file=/data/mysql/run/mysqld.pid
log-error=/data/mysql/log/mysqld.log
[client]
#字符集為utf8
default-character-set=utf8
[mysql]
#字符集為utf8
default-character-set=utf8
3、鍵入如下命令,初始化數(shù)據(jù)庫(kù):
mysql_install_db --user=mysql --basedir=/usr --datadir=/data/mysql/database
使用mysqld_safe 命令啟動(dòng)mysql:
[root@localhost mysql]# mysqld_safe &
[1] 4444
[root@localhost mysql]# 170812 06:39:37 mysqld_safe Logging to '/data/mysql/log/mysqld.log'.
170812 06:39:37 mysqld_safe Starting mysqld daemon with databases from /data/mysql/database
OK搞定!
使用/etc/init.d/mysqld start 命令啟動(dòng):
[root@localhost mysql]# /etc/init.d/mysqld start
MySQL Daemon failed to start.
正在啟動(dòng) mysqld: [失敗]
啟動(dòng)失敗!
這樣就不能開(kāi)機(jī)自啟了。
解決辦法:
關(guān)閉SELinux:
臨時(shí)關(guān)閉:
setenforce 0
啟動(dòng)mysql:
[root@localhost mysql]# /etc/init.d/mysqld start
正在啟動(dòng) mysqld: [確定]
[root@localhost mysql]#
永久關(guān)閉SELinux:
修改配置文件/etc/selinux/config文件中設(shè)置SELINUX=disabled ,如下:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
重啟Linux即可!
OK,搞定了!