Mysql更改数据库存放的目录
1.关闭mysql服务
service mysqld stop
2.复制数据目录到新目录
cp -a /var/lib/mysql /home/mysqldata
3.vim /etc/my.cnf
如果不知道my.cnf的位置,使用find / -name my.cnf
在my.cnf中添加mysql字段,在字段下面加入内容:
[mysql]
#/home/mysqldata是你自己创建的目录
datadir=/home/mysqldata
socket=/home/mysqldata/mysql.sock
或者使用软链接:
ln –s /home/mysqldata/mysql.sock /var/lib/mysql/
4.重新启动
service mysqld start 或者
service mysqld restart
提示:有时我们想把mysql数据库的目录中的某个数据库文件夹移动到另一个mysql目录(不建议这样做,风险较大)。移动过去后,可能会出现这种情况:
ERROR 1146 (42S02): Table 'database.tablename' doesn't exist
明明show tables;可以看到该表,但就是会提示这个错误。
解决方式:在my.cnf配置文件中加入参数:
lower_case_table_names=1
这个参数的意思是:为0时大小写敏感,为1时大小写不敏感,默认为1,可以实现MySql按照建表Sql语句的大小写状态来定义表名。
然后保存,重启即可。