Centos7.3版本怎么更改mariadb数据库存储路径方法

[复制链接] |主动推送
查看43 | 回复0 | 2024-9-11 18:16:27 | 显示全部楼层 |阅读模式
有的lnmp环境包或yum安装方式默认将mariadb数据库装在系统盘,其中就包括数据存储文件,万一系统宕机无法启动,那么数据文件就有损坏的可能,甚至造成无法挽回的局面。接下来我们就可以单独将数据存储文件放在其他分区或数据盘,这样即便是系统挂掉,也能轻易快速恢复mariadb数据库的正常运行。
如果你不知道当前数据库路径,只需要输入以下命令即可查看到:
回车后输入您的mariadb密码后回车
# mysql -uroot -p
输以下命令显示各种mariadb的路径调用情况。其中datadir项就是现存储的路径。
MariaDB [(none)]> show variables like ‘%dir%’;
退出数据库登录状态
MariaDB [(none)]> exit;
停止数据库
# systemctl stop mysql.server
新建mariadb新存储的路径文件夹
# mkdir -p /home/mysql/data
进入home目录
# cd /home
给新的路径文件夹mysql用户权限
# chown -R mysql:mysql /mysql
修改下面启动脚本mysql文件中的datadir路径,mysql启动脚本路径不一样,也有可能会在/usr/lib/systemd/system目录下(centos7)
# vi /etc/init.d/mysql
找到datadir=/var/lib/mysql修改成datadir=/home/mysql/data,如果有相同的/var/lib/mysql路径,同样修改为/home/mysql/data,
例如:
“innodb_data_home_dir”和“innodb_log_group_home_dir“
修改后保存并退出,在修改my.cnf中的数据存储路径
修改my.cnf文件中datadir=路径和上面修改的方法一样,修改还好以后保存并退出,然后启动mariadb服务。
# vi /etc/my.cnf
# systemctl start mysql.server
注意:如果你有数据文件,那么就把你的贝到/home/mysql/data下,还有/var/lib/mysql下的mysql件夹也拷贝过去,其他文件就不要拷贝了,这样你新建的用户和密码都会是你以前的。如果拷贝所有文件,就会启动报错。
如果以上方式不能成功且启动报错,可以在重启失败后执行初始化数据库命令,执行数据库命令前,/home/mysql/data下必须是空的,初始化成功后再导入数据库,以下是初始化数据库的命令:
# /usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/home/mysql/data
再次启动就正常了
# systemctl restart mysql.server
初始化成功后,数据库密码是空的,执行以下命令开始设置密码
# /usr/local/mysql/bin/mysql_secure_installation
注意:第一个是提示你输入mysql密码,其实新安装的mysql默认是空密码,然后直接回车输入两次新密码回车,接下来全部按Y即可(基本上是删除了test测试数据库和匿名账号和删除后立刻生效(最后一个Y))。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则