学习啦>学习电脑>网络知识>网络技术>

在Linux下访问不了MySQL数据库怎么回事

加城分享

  MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。在Linux系统下无法访问mysql,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?下面我们一起来看看解决方法。

  Linux系统下无法访问mysql怎么办?

  1、问题及异常

  ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@75d634ea -- APPARENT DEADLOCK!!! Complete Status:

  Managed Threads: 3

  Active Threads: 3

  Active Tasks:

  2、查找原因

  费劲周知,确定是MySQL权限的问题

  3、解决过程

  1》 mysql -uroot -proot mydbName

  2》 grant all privileges on *.* to wangs@‘%’ identified by ‘123456’;

  3》 flush privileges;

  4》 exit;

  5》 /etc/init.d/mysql restart

  4、命令的说明

  进入 mysql ,用户为 root,密码为 root,数据库为 mydbName,-u 意为用户,-p 意为密码,

  增加用户 wangs,所有权限,数据库为 *,后面的 .* 不可少,% 代表对所有远程的 IP 地址,如果要限定 IP 地址的话,单独写上 IP 地址,

  密码是 123456,注意引号 ‘ 不可少,用来表示是字符串。

  以上命令和过程均不可省略。

  补充: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)


    4015225