业务场景:linux mysql安装的时候安装在根目录,随着使用量越来越大,根目录空间满足不了。需要修改mysql数据文件存放位置。(记录一下操作步骤,同时记录操作过程中遇到的问题及处理方法)

mysql数据文件存储位置修改

1、登录到mysql,使用mysql -u root -p输入密码即可登录
2、查看数据文件存储位置select @@datadir;如存放路径为/usr/local/mysql/data/

3、停止mysql服务,我采取的是杀进程形式,ps -ef|grep mysql,kill -9 进程号
4、创建新的数据文件存放位置,路径根据实际情况更改
mkdir -p /data/app
5、将文件拷贝到新的存放位置
cp -R /usr/local/mysql/data/ /data/app/
6、更改存储目录的用户或授权
chown -R mysql:mysql /data/app
chmod -R 777 /data/app
7、修改配置文件,此处我只更改数据存放位置,其它位置不变

8、启动mysql,版本不一样启动命令可能不一样,我使用的启动命令为:/etc/init.d/mysql start
9、再次登录mysql,使用select @@datadir;查看存储位置是否更改,更改完成后再创建的数据库会保存在新的存储路径下

遇到的问题及处理方法

mysql如何创建用户、授权
CREATE USER '你的mysql用户名'@'localhost' IDENTIFIED BY '你的mysql密码';
grant all ON *.* TO '你的mysql用户名'@localhost;

mysql赋权报错
ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
查阅了一下官方文档,原因是由于root用户没有SYSTEM_USER权限,把权限加入后即可解决:
grant system_user on *.* to 'root';
再执行赋权ALTER USER 'ca'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密码'; 即可

navicat连接用户时,发现报错2509
原因为加密方式导致的报错,默认加密方式为caching_sha2_password
解决方法:
1、将mysql登录的加密规则修改为mysql_native_password,按顺序操作如下
#输入密码进入mysql  
mysql -u root -p  
#修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密码' PASSWORD EXPIRE NEVER;
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密码';
#刷新数据
FLUSH PRIVILEGES;
2、修改后重新连接,仍报2509,查看下加密规则,将host设置为通配符模式%,即可
select host from user where user='root';
update user set host='%' where user='root';
flush privileges;
 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值