Ubuntu修改MySQL默认数据库目录
在CentOS修改MySQL数据库目录很简单,在my.cnf更改datadir路径后,启动即可,但在Ubuntu系统初次更改,可就上火了,因为Ubuntu有个AppArmor,是一个Linux系统安全应用程序,类似于Selinux,AppArmor默认安全策略定义个别应用程序可以访问系统资源和各自的特权,如果不设置服务的执行程序,即使你改了属主属组并0777权限,也是对服务起不到作用。网上大多数资料都说是权限问题,的确目录属性必须要改的,但不能解决问题。操作很简单,留个备忘,请看步骤!
1、停掉MySQL
# sudo /etc/init.d/mysql stop
2、修改MySQL数据库默认存放位置
# vi /etc/mysql/my.cnf
将datadir = /var/lib/mysql
修改为datadir = /data0/mysql
3、设置新数据库目录属主属组为mysql
# sudo chown mysql:mysql /data0/mysql
4、修改Ubuntu系统安全设置
# vi /etc/apparmor.d/usr.sbin.mysqld
将/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
修改为现在目录
/data0/mysql/ r,
/data0/mysql/** rwk,
然后重启AppArmor:sudo /etc/init.d/apparmor restart
注:如果不修改,就会报如下错:
150208 10:48:47 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: create. InnoDB: Cannot continue operation. 150208 10:48:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
# sudo /etc/init.d/mysql start
注:如果出现以下报错,debian-sys-maint是对mysql简单维护用的,这个用户信息记录在/etc/mysql/debian.cnf,因为mysql安装完成后已经生成密码,现在这个生成的和之前的不同,自然登陆不到mysql,故此报错。
ERROR 1045 (28000): Access denied for user debian-sys-maint@localhost (using password: YES)
解决如下,先查看原来密码,然后修改为现在的密码:
mysql grant all on *.* to debian-sys-maint@localhost identified by mTHbclKSNuiyoifR; # sudo /etc/init.d/mysql restart #再重新启动就没有报错了
MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨 背景问题 再讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1、Oracle、SQL Server 的默认隔离级别是什么,MySQL 的呢 ? 2、为什么 MySQL 的默认隔离级别是 RR ?
李振良 6年互联网运维经验,擅长Linux,Python,Docker,MySQL,运维自动化等技术领域。
相关文章
- MySQL_(Java)使用JDBC向数据库中插入(insert)数据
- JavaWeb-SpringBoot_使用MySQL数据库实现用户管理_demo
- 【MySQL】批量删除mysql中数据库中的表
- 【MySql】mysql 数据库数据订正
- 查看mysql数据库版本方法总结
- mysql load data infile的使用 和 SELECT into outfile备份数据库数据
- Mysql一个非常有用的内置函数今天碰到要把MySQL数据库中的varchar转换成date类型进
- 阿里规范 - 五、MySQL 数据库 - (三)SQL语句 - 1 - 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。
- MySQL内核月报 2014.10-MySQL· 捉虫动态·从库OOM
- MySQL内核月报 2014.12-MySQL· 性能优化·Bulk Load for CREATE INDEX
- MySQL · 专家投稿 · MySQL数据库SYS CPU高的可能性分析
- 数据库查询优化——Mysql索引
- MySQL运维---慢日志与备份
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- [转]python操作MySQL数据库
- Atitit postgresql data type 数据类型与mysql对应表 数据库常用数据类型 PostgreMysql 整数intgreterInt 小数numericFL
- 〖Python 数据库开发实战 - MySQL篇㉙〗- MySQL 字符函数
- MYSQL导入数据报错|MYSQL导入超大文件报错|MYSQL导入大数据库报错:2006 - MySQL server has gone away
- 上Mysql com.mysql.jdbc.StatementImpl$CancelTask内存泄漏问题和解决方法
- mysql数据库的优化?
- 104.第十九章 MySQL数据库 -- MySQL主从复制、 级联复制和双主复制(十四)
- 问题解决:C++ 读取MySQL数据库中文乱码问题
- PostgreSQL的学习心得和知识总结(六十五)|关于PostgreSQL数据库 实现MySQL数据库find_in_set()函数 的实现方案
- PostgreSQL的学习心得和知识总结(二十五)|语法级自上而下完美实现MySQL数据库的 字段默认值的自动插入更新 的实现方案
- 第55讲:MySQL数据库视图中数据的更新操作
- mysql_10 _ MySQL为什么有时候会选错索引?
- mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?
- Flume+Kafka+Spark Streaming+MySQL实时日志分析
- MySQL数据库锁
- MySQL选择数据库(MySQL USE语句)
- MySQL数据库性能优化由浅入深(表设计、慢查询、SQL索引优化、Explain分析、Show Profile分析、配置优化)
- 接口测试——MySQL数据库接口测试用例访问(七)