Linux下修改mysql的root密码后数据库消失怎么处理
有些人直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,怎么回事呢?原来我们不可以直接修改root密码,而是要通过password()函数修改。这个时候该怎么处理呢?
Linux下修改mysql的root密码后数据库消失怎么处理?
可以用下面的办法解决:
1、修改mysql数据库目录配置文件:my.cnf(或my.ini)
[mysqld]下添加:
skip-grant-tables
2、重启mysql服务,然后用mysql 登录。
3、进入后,可以看到,mysql数据库已呈现,然后修改密码:
update user set password=password(’root‘) where user=’root‘;
flush privileges;
4、退出mysql,修改配置文件my.cnf 把刚才的skip-grant-tables注释掉。
5、重启mysql服务,然后就可以用用户名,密码登录。
补充:MySQL 数据库常用命令
create database name; 创建数据库
use databasename; 进入数据库
drop database name 直接删除数据库,不提醒
show tables; 显示表
describe tablename; 查看表的结构
select 中加上distinct去除重复字段
mysqladmin drop databasename 删除数据库前,有提示。
显示当前mysql版本和当前日期
select version(),current_date;
数据库维护方法
在MySQL使用的过程中,在系统运行一段时间后,可能会产生碎片,造成空间的浪费,所以有必要定期的对MySQL进行碎片整理。
当删除id=2的记录时候,发生的现象
这个时候发现磁盘的空间并没有减少。这种现象就叫做碎片化(有一部分的磁盘空间在数据删除以后(空),还是无法被操作系统所使用。)
常见的优化:
# alter table xxx engine myisam;
# optimize table t1;
注意: 在实际开发的过程中,上面两个语句尽量少使用,因为在使用的过程中,MySQL的表的结构会整体全部重新整理,需要消耗很多的资源,建议在凌晨两三点钟的时候执行。(在linux下有定时器脚本可以执行,crontab)
数据库密码相关文章: