修改 存储目录,可以直接初始化mysql库

2020-02-06 03:17栏目:美高梅网上游戏
TAG:

Mysql 切换数据存储目录的实现方法

前提:客户端服务器端必须在同一台机器上面才能修改

今日,工作中遇到,mysql,存储所在分区空间都已使用完,导致mysql无法正常启动,为此只能迁移数据存储目录。

 

1、将现有的数据存储目录,转移到别的存储空间,今日转移时 50G的数据文件,拷贝了 30多分钟,有些慢。

如果mysql库里面没有其他用户数据,可以直接初始化mysql库。

2、修改my.cf配置文件

 

修改 存储目录

但是如果mysql库创建了很多用户就不能进行初始化了。只能从新找回密码

[mysqld]

要想找回管理员密码必须停止mysql服务

datadir=/home/mysqlsocket=/home/mysql/mysql.sock

service mysqld stop

[mysql_safe]

 

pid-file=/home/mysql/mysqld.pid

然后手动启动mysql。编辑/etc/init.d/mysqld

新增

 

[mysql]

找到 有个 $bindir/mysqld_safe --datadir="$datadir" --pid-file="mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

socket=/home/mysql/mysql.sock

 

3、一定要注意修改,数据存储目录的权限问题,尤其是出现

修改为:

mysql_safe pid home/mysql/mysqld.pid* ended 类似异常时

$bindir/mysqld_safe --skip--grant-tables --skip-networking --datadir="$datadir" --pid-file="mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 

再启动mysql服务。

 

然后登陆上去后再设置密码注意这里再修改密码时候只能去改mysql.user表里面的password 字段了

update user set Password=password('设置的新密码'); where user='root';

 

然后在退出mysql,停止mysql服务,重新编辑/etc/init.d/mysqld  把刚才改的字段再改回去。

再重新启动mysql服务即可

 

 

方法2:

 

使用mysqld_safe  命令加上一些参数,登陆时候不使用授权表

 

首先停止mysql服务

 

然后:

mysqld_safe --skip-grant-tables --user=mysql &

直接新开一个shell输入mysql即可进入

 

如果无法进入,提示

mysqld_safe Starting mysqld daemon with databases from /mydata/data

版权声明:本文由美高梅开户送58元官网发布于美高梅网上游戏,转载请注明出处:修改 存储目录,可以直接初始化mysql库