ubuntu下修改mysql默认data路径

由于ubuntu默认的mysql路径是在/var/lib/mysql下,很多时候我们如果没有挂载其它分区在/var的时候,随着网站逐渐浏览和添加内容,数据容量也会越来越大,自然磁盘空间也会比较吃紧。因此我们就需要把mysql的data路径转移到其它目录下。

今天在转移的时候走了不少弯路,最后经过反复尝试后得到了比较精简的步骤,提炼如下。

设置新data路径(假设新路径为/data/mysql)这里需要说明的就是,最开始我图省事使用了mv来移动,随后发现在设置完路径后mysql无法访问。因此为了保险起见还是按照这里的步骤来吧。

建立新的路径

sudo mkdir -p /data/mysql

复制数据

sudo cp -R /var/lib/mysql/* /data/mysql

修改文件夹权限

sudo chown -R mysql:mysql /data/mysql

修改配置文件

sudo vim /etc/mysql/my.cnf

查找并用#注释以下

datadir = /var/lib/mysql

新增

datadir = /data/mysql

 

需要提醒的是:单只修改mysql的config文件是不够的,在你重启mysql服务的时候会发现启动失败。原因则是ubuntu里有一个访问控制系统apparmor,因此我们还需要在这里修改一下才能完全成功。

修改安全保护文件

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

查找并用#注释以下两节

/var/lib/mysql r,

/var/lib/mysql/** rwk,

新增

/data/mysql r,

/data/mysql/** rwk,

修改访问控制文件

sudo vim /etc/apparmor.d/abstractions/mysql

注释掉

/var/lib/mysql/mysql.sock rw

新增

/data/mysql/mysql.sock rw

重启服务

/etc/init.d/apparmor restart

/etc/init.d/mysql restart

这时候再访问就会发现已经修改成功了,数据的读写都经由新路径实现。

时间: 2024-10-09 18:28:54

ubuntu下修改mysql默认data路径的相关文章

ubantu 下 修改mysql 默认编码

启动mysql后,以root登录mysql [email protected]:~# mysql -uroot -proot mysql> show variables like 'character%'; #执行编码显示+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+

Ubuntu 16.04.1下修改MySQL默认编码

在Ubuntu 下配置 MySQL 的字符编码.安装完 MySQL 后,系统默认的字符编码是 latin1 ,输入的是中文,可是输出却是一堆乱码.现在要做的就是把 MySQL的默认字符编码设置为支持中文的编码,如 GBK.GB23112.等. 首先进入MySQL存放配置文件的目录 ~#cd /etc/mysql/ 执行ls,查看下此文件夹下的文件 ~#ls 会发现有个文件是my.cnf,这个文件是mysql的配置文件 用vim打开此文件 ~#vi my.cnf 打开my.cnf后,会发现在此文件

win下修改mysql默认的字符集以防止乱码出现

环境:win8.1+mysql5.6.11+xampp(v3.2.1) 默认的编码如下 查看方式: show variables like 'character%'; 结果: 从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8.其中,character_set_client为客户端编码方式: character_set_connection为建立连接使用的编码: character_set_database数据库的编码: character_set_results结果集的编

mac下修改mysql默认字符集为utf8

1.首先检查默认安装的字符集 mysql> show variables like '%char%'; +--------------------------+--------------------------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------------------------+

ubuntu上修改mysql的默认字符编码为utf8

udo gedit  /etc/mysql/my.cnf: 在[client]下添加: default-character-set=utf8 [mysqld]下添加 default-character-set=utf8 collation-server=utf8_general_ci 然后保存退出. 重启mysql sudo service mysql restart ubuntu上修改mysql的默认字符编码为utf8,布布扣,bubuko.com

Linux下使用MySQL——忘记root密码及修改MySQL默认编码

概述: 本博客不再对MySQL的语法进行讲解和说明,想了解或熟悉的朋友请自行百度或Google学习.本博客主要是针对MySQL除语法之外的总结,希望能够也能帮助到你. 1.CentOS6.x下MySQL忘记root密码解决方法 Ⅰ. 修改MySQL的登录设置 # vim /etc/my.cnf 在[mysqld]段中加上一句:skip-grant-tables Ⅱ. 重启服务 # service mysqld restart Ⅲ. 登录Mysql,修改密码信息 # mysql mysql> US

Linux修改MySQL默认数据库存放路径

Linux下,MySQL默认的数据文档存储目录为/var/lib/mysql.现要把MySQL目录移到/data下需要进行下面几步: 1. 杀掉MySQL进程,密码自行替换 mysqladmin -uroot -p123 shutdown 2. 转移数据文档至/data目录 mv /var/lib/mysql /data/mysql 3. 编辑/etc/my.cnf文件,若没有 cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 存在的话就编辑文件,将所有

centos下 Apache、php、mysql默认安装路径

centos下 Apache.php.mysql默认安装路径 http://blog.sina.com.cn/s/blog_4b8481f70100ujtp.html apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录

Ubuntu修改WEB数据库MySQL的密码方法和windows下修改MySQL密码

Ubuntu(Linux): 首先进入命令行下以root用户登录,命令: mysql -uroot -p 回车 输入密码:mysql>use mysql: mysql>UPDATE user SET password=PASSWORD('输入新密码') WHERE user='root'; mysql>FLUSH PRIVILEGES;已经完成. Windows: 在Windows命令行下修改mysql数据库密码步骤如下:1.通过dos命令进入mysql的bin目录:2.输入“mysql