Ubuntu16.04 修改mysql 数据存储目录datadir 启动失败 5C

Ubuntu16.04 修改mysql 数据存储目录datadir 启动失败 ,网上的各种方法都已经尝试,但是还是没有启动成功请教各位大神!!!!!

修改步骤

创建 迁移文件夹

cd /mnt
mkdir lib
cd lib && mkdir mysqldata
数据存放在 /mnt/lib/mysqldata

修改所属用户 和所属用户组为 msyql

sudo chown -vR mysql:mysql /mnt/lib/mysqldata

修改权限

sudo chmod -vR 700 /mnt/lib/mysqldata

迁移文件

停止服务

sudo /etc/init.d/mysql stop

迁移数据

cp -av /var/lib/mysql/* /mnt/lib/mysqldata

vim /etc/mysql/mysql.conf.d/mysqld.cnf

将 [mysqld] 组下的 datadir改为:
datadir = /mnt/lib/mysqldata

sudo vim /etc/apparmor.d/usr.sbin.mysqld

找到其中的

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

两行权限声明,可以在前面加上#好注释掉。然后对照格式,加入新路径的权限声明:
/mnt/lib/mysqldata/ r,
/mnt/lib/mysqldata/** rwk

重启服务
配置文件修改成功后就可以重启数据库,重启数据库之前需要先重新载入apparmor配置文件,使用下面命令重新载入:

sudo /etc/init.d/apparmor restart

sudo /etc/init.d/mysql start

重启的时候
Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
failed!
root@iZm5e472vz1trxejt8m5akZ:/etc/mysql# systemctl status mysql.service
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-06-23 00:55:37 CST; 25s ago
Process: 13418 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 13408 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 13417 (mysqld)
CGroup: /system.slice/mysql.service
└─13417 /usr/sbin/mysqld

. 配置文件 内容

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
# datadir         = /var/lib/mysql
datadir     = /mnt/lib/mysqldata
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0
#
# * Fine Tuning
#
key_buffer_size     = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit   = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id      = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size   = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

1个回答

主要是mysql-systemd-start脚本中的路径开始没修改,换这种启动方式后没注意到他,引出了初始化数据库的一堆折腾。

OS:Ubuntu16.04

MySQL:5.7.17

apt install之后默认datadir 为/var/lib/mysql,希望修改下datadir的路径

修改/etc/mysql/mysql.conf.d/mysqld.cnf中的datadir,并删除了原来的/var/lib/mysql文件夹(也可将这个原来的内容mv过去,就不用初始化了),

修改/etc/apparmor.d/usr.sbin.mysqld中的datadir路径为新的值, 并service apparmor reload重启服务。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ubuntu修改mysql 5.7 数据存储目录datadir
环境 Ubuntu 16.04 mysql5.7 在16.04版本的mysql数据库,默认是5.7版本的; 想要修改MySQL数据库存储的目录, 需要了解mysql配置文件,以及apparmor的配置文件 这里提一下apparnor 是控制访问权限的, 而mysql依赖它, 所以不单单是改完mysql配置文件的内容, 同样的需要修改apparmor的相应的配置文件 1.创
Mysql修改数据文件默认目录datadir
mysql modify datadir
CentOS修改MySql数据库目录datadir
service mysqld stop        //停止mysql服务 cp -rf /var/lib/mysql /home/data     //复制默认的mysql数据库目录 chown -R mysql:mysql /home/data   //给新的目录授权 //修改my.cnf, 为确保没问题, 可以将以前的配置注释掉或者cp一份 vi /etc/my.cnf
Ubuntu修改MySQL数据库datadir目录
概述本文描述了在Ubuntu 16.04系统下修改mysql-server-5.7数据库datadir目录的详细步骤。目标:将数据库目录datadir从/var/lib/mysql修改到/home/database/mysql。系统信息:$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:
mysql修改datadir的后续工作
我们都知道,在mysql文件夹下面有my.ini文件,修改里面的datadir就可以改变数据库以及表的存放位置,默认在windows下,存放在C:/ProgramData/MySQL/MySQL Server 5.5/Data/,比如我们将datadir修改为I:/data,可能会遇到以下几种情况: 1、重新打开mysql administrator或者相应的command line,我们发...
修改Docker数据存储目录
0.停止正在运行的docker: service docker stop1.创建文件夹:mkdir disk/docker  (disk为新磁盘目录名)2.移动/var/lib/docker/目录到新目录中: mv /var/lib/docker/* /disk/docker3.删除/var/lib/docker/目录: rm -rf /var/lib/docker4.软连接/disk/docke...
MysqL数据存储目录迁移
MysqL数据存储目录迁移 1、停止MySQL的服务 sudo service mysql stop 2、查看数据库地址 cd /var/lib 3、查看MySQL的权限和用户组(这个目录下保存着MySQL的数据) ll /var/lib 4、创建数据库迁移目录 sudo mkdir /mysqldata(在根目录下创建) 5、修改用户组和权限 sudo chown -vR m
MySQL 5.7 更改datadir 数据库存放目录
1) 修改/etc/my.cnf文件 将data-dir 更改为迁移后数据存放的目录,socket文件更改为迁移后的目录文件(这个文件的作用是用于服务器自身验证目的的) 增加[client] 内容,用户本机的mysql client登录验证,这项不加,会在mysql cli命令行登录时出现ERROR 2002 (HY000) 错误 实例如下: 2)需要修改selinux的配置(/etc...
Mysql数据存储目录切换
背景 某项目发现数据库磁盘储存空间不足,挂载了一块新磁盘,需要切换存储目录到新的 前提 新挂载的磁盘(挂载方式略),例如挂载到/data目录下 实施 1、停服、防止操作期间数据库写入 2、mysql数据库备份 使用mysqldump命令给数据库数据做备份 3、数据库停机 直接kill掉进程 4、更改数据库目录后重新启动 原有启动脚本: /usr/bin/mysqld_safe --dat...
mysql更换数据存储目录
1、新建数据目录:mkdir   /data/mysql && chmod -R 777  /data/mysql 如果不赋权限,服务关掉再重启的时候会出现一些文件的“【ERROR】.......for writing: Permission denied” 2、将原来的数据文件拷贝到新的数据目录下:cd&
mysql下的数据存储目录更换
当mysql的磁盘空间已满时,增加硬盘,提供磁盘空间(提供的磁盘要大于原系统盘) 如果只是默认目录下的磁盘空间比较小,可以安装步骤2进行下去 1、先挂载硬盘到某个目录分区中 通过查看磁盘空间:fdisk -l,查看新硬盘是否在系统内,然后挂载 mount  /dev/sda2  /data/ 2、转移数据库的所有相关数据到data目录下,并带着权限、用户等 cp -rp /
MySql 5.6修改datadir后无法启动的问题
mysql 5.6安装完成之后,默认的数据存放的位置在:       “C:/ProgramData/MySQL/MySQL Server 5.6/Data”,引用的配置也是这个目录下的my.ini。   由于数据文件较大,我想放到其他盘,于是将datadir修改为 datadir=D:/data/mysql/data 一切就绪,重启服务,然后,问题来了,报1067错误,百度之,结果N...
ubuntu16.04启动失败解决
今天启动uibuntu后,系统卡住,然后就直接关了,结果,第二次重启的时候就出错了,应该是硬盘检测错误,错误是这个: The root filesystem on /dev/sda1 requires a manual fsck 硬盘sda1检测出现问题了,我用的解决办法是输入代码:fsck -c /dev/sda1 执行后一直按y,然后就成功了,再重启就好了
MySQL Server 5.5 更改默认数据存储路径(datadir)
1.查看原先默认的datadir,打开cmd,输入mysql -uroot -p进入mysql,键入show variables like ‘%datadir%’,可以看到原先默认的数据库文件的路径,在C盘找到该目录,quit退出mysql; 2.打开任务管理器的服务,找到MySql,右键停止服务; 3.将在C盘找到的data整个文件夹拷贝到你自己想要的目录下,比如"D:/mysql/mydata...
linux 下mysql 数据存储目录的变更
在阿里云服务器上安装了mysql以后,一开始由于没有挂载数据盘,mysql的数据存储目录就使用了默认的设置,数据的存储目录为: /var/lib/mysql.   之后数据盘挂载到了以下目录 /mnt, 所以决定把mysql的数据保存到数据盘,一个原因是系统盘的容量有限,另一个重要原因则是为了数据的安全性考虑,毕竟在系统盘下,万一系统崩溃,那么系统的数据则面临丢失的风险。   好了言归...
线上迁移mysql 的datadir
线上 更改mysql 的 datadir
MySQL修改默认数据存储路径
0.前言 最近在MySQL数据库里操作了大批量的数据,电脑开始变卡,经查询发现是因为C 盘 被MySQL数据存储文件占用了很多空间,所以,将MySQL默认的数据存储路径进行修改,整理记录如下 1.操作步骤 1.1 停止MySQL服务 1.2修改默认数据存储路径(修改mysql安装路径下的my.ini文件) 1.3 将原始 数据存储文件 整体剪切到新路径下 ...
mysql查看和修改数据存储路径
查看mysql数据存储路径信息(分号不能掉) show variables like '%datadir%'; 结果如下图: 更改mysql数据存储路径需要先关闭mysql服务 1.以管理员身份在命令行界面输入以下命令: net stop MySQL MySQL是服务名,在任务管理器里面查看,mysql不同的版本服务名可能不同,如5.7版本服务名为mysql57 2.服务关闭...
【MySQL】Ubuntu下安装MySQL 5.7.24以及修改datadir目录出错解决方案
Ubuntu下安装MySQL 5.7.24以及修改datadir目录出错解决方案
MySQL启动失败
查找到错误日志:信息报错如下 180808 20:10:04 InnoDB: Initializing buffer pool, size = 1.0G InnoDB: mmap(1098907648 bytes) failed; errno 12 180808 20:10:04 InnoDB: Completed initialization of buffer pool180808 20:1...
mysql启动失败
背景 挂载的/路径下空间不足,需要切换存储到/data下去 修改my.cnf文件,设置文件存储地址 innodb_data_home_dir = /data/usr/local/mysql/data/ innodb_log_group_home_dir = /data/usr/local/mysql/data/ Starting mysqld:
Mysql启动失败
错误提示: 服务名无效 错误原因: mysql服务没有安装。 解决方法: 管理员的权限运行cmd 用dos命令进入到mysql安装目录下再进入到bin目录下 运行mysqld -install命令
mysql启动失败!!
[root@172.17.97.222 webapps]# service mysqld restart Stopping mysqld:                                           [  OK  ] Timeout error occurred trying to start MySQL Daemon. Starting mysqld:       
修改mysql目录
利用软链,简单不易出错 service mysqld stop mkdir /data/mysqldb/ mv /var/lib/mysql /data/mysqldb/ ln -s /data/mysqldb/mysql/ /var/lib/ service mysqld start
mysql 启动失败
mysql启动失败的原因 总提示:退出更新pid失败; 最好是杀掉进程,然后再启动
Mysql 启动失败
[color=#0000FF][size=14px]各位高手帮忙看一下,我的mysql启动不了,以下是启动日志,请高手指点。rnrnrn/usr/libexec/mysqld: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directoryrn110525 16:38:28 mysqld ended[/size][/color]
Centos 下更改MySQL源数据存放目录(datadir)
MySQL在安装完成之后,其源数据默认存放在 /var/lib/mysql/ 目录下,一般情况下,该目录在根目录下,由于Linux系统默认  根目录所在挂载的磁盘容量有限,随着生产数据的不断产生,该目录会越来越大,如果磁盘空间不足,Mysql 会报Got error 28 from storage engine错误,所以最好将MySQL的数据目录进行更改。查看MySQL源数据存放路径的命令是 ...
修改linux主机名导致mysql启动失败
今天无事看到自己的主机名不对,于是改了一下,以便区分服务器,那只重启mysql时出现下面错误:   MySQL manager or server PID file could not be found!       [FAILED] Starting MySQL.Manager of pid-file quit without updating fi[FAILED]   怎么会找不到PID呢,看
解决mysql更换数据存储目录的问题
我的mysql用的是yum安装的,开始默认的安装目录是/var/lib/mysql,修改成/data3/lib/mysql:1:将/etc/my.conf有用的配置如下: [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent
ubuntu-16.04更改mysql默认数据存储目录
登录mysql查看当前数据存储目录 mysql -uroot -p mysql> select @@datadir; +-----------------+ | @@datadir | +-----------------+ | /var/lib/mysql/ | +-----------------+ 1 row i...
本地查询MySQL安装目录和数据存储目录
1.安装目录执行SQL:select @@basedir as basePath from dual; 2.数据目录执行SQL:show global variables like "%datadir%"; 或者在my.ini配置文件中查看 3.数据库端口查看:在my.ini文件配置中 ...
5. 在Datadir目录外创建单独表空间
5. 在Datadir目录外创建单独表空间 要在MySQL dadadir之外的位置创建单独表空间,请使用该子句: DATA DIRECTORY = '/path' 在目标目录中,MySQL会创建一个与数据库名称对应的子目录,并在其中创建新表的xx.ibd文件。在MySQL DATADIR目录中,会创建一个xx.isl文件,文件内容包含表的路径名。MySQL将’**.isl’文件视为符号链接...
mysql数据存储
写的一个小程序,用到数据库的简单操作及css进行界面样式的编辑,对于qt初学者应该有点帮助。
Ubuntu16.04中MySQL安装配置及修改字符集编码
1、安装mysql root@ubuntu:~# sudo apt-get install mysql-server11root@ubuntu:~# apt isntall mysql-client 11root@ubuntu:~# apt install libmysqlclient-dev 11 期间会弹出设置root账户的密码框,输入两次相同密码。 2、查询是否安装成功
怎么修改linux centOS的mysql 的数据存储路径
我现在有一个centOS的服务器,因为现在要往里面导入数据,但数据量太大,原来的160G硬盘已经不能满足要求,我添加了一个1TB的硬盘。现在我想把mysql的数据存储路径修改到1T的盘中,不知道有没有高手做过,帮忙解决一下。rnrn注:我的mysql 全部用的yum安装的。rnrn我试过这个下面链接的方法:http://www.atans.cn/centos-httpd-mysqld-change-data-path/rnrn但在修改完后总是启动不正常
SMPlayer在ubuntu16.04下没有声音的解决办法| mysql无法修改
将smplayer的"首选项->音频->输出驱动“设置由pulse改为alsa即可
Debian 5.0下mysql 修改数据存储路径
已经修改过my.cnf,将/var/lib/mysql/ 做软链接均不能成功,mysql 版本为rnmysql Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2rn请高手指点
mysql启动时basedir/datadir与配置不一致
今天装了一下libmyodbc/unixodbc就变成这样了,datadir总是与我/etc/my.cnf配置的不同,即使在启动时指定也不行,rn启动日志第一句:mysqld_safe Starting mysqld daemon with databases from /var/lib/mysqlrn第二句:/usr/local/mysql/bin/mysqld: ambiguous option '--log=/usr/local/mysql/log/mysql.log' (log-bin, log_slave_updates)rn原因是有很多相通配置项配置参数出现了两次,用my_print_defaults可以看出来,下面是执行命令:rnroot@ubuntu:/usr/local/mysql/bin# my_print_defaults mysqldrn--user=mysqlrn[color=#FF0000]--basedir=/usr/local/mysql[/color]rn--datadir=/usr/local/mysql/datarn--user=mysqlrn--pid-file=/var/run/mysqld/mysqld.pidrn--socket=/var/run/mysqld/mysqld.sockrn--port=3306rn[color=#FF0000]--basedir=/usr[/color]rn--datadir=/var/lib/mysqlrn--tmpdir=/tmprn--lc-messages-dir=/usr/share/mysqlrn--skip-external-lockingrn--bind-address=127.0.0.1rn--key_buffer=16Mrn--max_allowed_packet=16Mrn--thread_stack=192Krn--thread_cache_size=8rn--myisam-recover=BACKUPrn--query_cache_limit=1Mrn--query_cache_size=16Mrn--log_error=/var/log/mysql/error.logrn--expire_logs_days=10rn--max_binlog_size=100M
centos重新安装mysql切换datadir系列问题
centos7安装mysql需要先安装镜像,不然无法通过yum直接安装 # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server
mysql修改默认数据库目录
centos yum安装mysql修改默认数据库目录 首先找到mysql 配置文件 /etc/my.cnf 修改配置目录 #datadir=/var/lib/mysql #socket=/var/lib/mysql/mysql.sock 修改成新目录 datadir=/home/db/mysql socket=/home/db/mysql/mysql.sock #增加 以下配置 默认是socke...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池