mysql - Mariadb fails on setting data directory location -


base os: centos 7 atomic host

i installed mariadb 10.2 & changed data directory folder under /home directory. made respective changes /etc/my.cnf point data directory & mysql socket. did concerned changes in se linux context. now, when start mariadb service systemctl start mariadb fails. output system status mariadb.service

job mariadb.service failed because control process exited error code. see "systemctl status mariadb.service" , "journalctl -xe" details. # systemctl status mariadb.service ● mariadb.service - mariadb database server    loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)   drop-in: /etc/systemd/system/mariadb.service.d            └─migrated-from-my.cnf-settings.conf    active: failed (result: exit-code) since tue 2017-09-12 13:54:15 cest; 23s ago   process: 3099 execstart=/usr/sbin/mysqld $mysqld_opts $_wsrep_new_cluster $_wsrep_start_position (code=exited, status=1/failure)   process: 3066 execstartpre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && var= ||   var=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _wsrep_start_position=$var || exit 1 (code=exited, status=0/success)   process: 3063 execstartpre=/bin/sh -c systemctl unset-environment _wsrep_start_position (code=exited, status=0/success)  main pid: 3099 (code=exited, status=1/failure)    status: "mariadb server down" 

/etc/my.cnf is

[client-server]  [mysqld] datadir=/home/data/db/mysql socket=/home/data/db/mysql/mysql.sock  [client] port=3306 socket=/home/data/db/mysql/mysql.sock 

any ideas on how mariadb & running?

finally, got solution. link below should stuck in similar problem. 1st task usual procedure changing data directory mariadb & 2nd task allow mariadb.service use /home base directory data storage.

task 1:

following by gabriel cánepa's advice @ tecmint.com:

1.1.changing default mysql/mariadb data directory

# mkdir /mnt/mysql-data # chown -r mysql:mysql /mnt/mysql-data 

1.2.identify current mysql data directory

# mysql -u root -p -e "select @@datadir;" 

1.3.copy mysql data directory new location

# systemctl stop mariadb # systemctl is-active mariadb # cp -r -p /var/lib/mysql/* /mnt/mysql-data 

1.4.configure new mysql data directory

# vi /etc/my.conf  [mysqld]: datadir=/mnt/mysql-data socket=/mnt/mysql-data/mysql.sock [client]: port=3306 socket=/mnt/mysql-data/mysql.sock 

1.5.set selinux security context data directory

# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -r /mnt/mysql-data 

1.6.restart mariadb.service after task 2

# systemctl start mariadb 

1.7.verify location

# mysql -u root -p -e "select @@datadir;" 

task 2:

as suggested thomas:

to run mariadb sql /home, in file /usr/lib/systemd/system/mariadb.service, change :

protecthome=true 

to :

protecthome=false 

Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -