问题如下: Failed to Connect to MySQL at 127.0.0.1:3306 with user root Access denied for user 'root'@'localhost'
我的问题是terminal中可以使用管理员账号登录mysql,但是在使用workbench时,链接就会出现上面的问题
问题如图

网上看了许多方法,试验了几个,发现新建一个用户解决办法最简单。
创建用户 格式:create user 'userName'@'localhost' identified by 'passward';
mysql> create user 'dfzxk'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
给user上帝权限
mysql> grant all on *.* to dfzxk@"%" identified by "123456";
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql授权东西太多,不多说了
查看用户权限
mysql> show grants for dfzxk;
+--------------------------------------------+
| Grants for dfzxk@% |
+--------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'dfzxk'@'%' |
+--------------------------------------------+
1 row in set (0.00 sec)

再次使用workbench,已经链接成功了。
遇到的坑
mysql> create user 'dflx'@'localhost' identified by '123456';
ERROR 1396 (HY000): Operation CREATE USER failed for 'dflx'@'localhost'
据说是已经建立了这个用户,我Ubuntu的xwindows桌面崩溃过一次,因为\目录太小的原因,我准备增大根目录的容量,把\home移动5g给它,可是现在卡在了这里。
sql语句查看一下
mysql> show database;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| mysql_shiyan |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host,user from mysql.user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | dfzxk |
| localhost | debian-sys-maint |
| localhost | dflx |
| localhost | dfzxk |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
7 rows in set (0.00 sec)
mysql> show grants for dflx;
ERROR 1141 (42000): There is no such grant defined for user 'dflx' on host '%'
果然我的dflx用户还在,我workbench链接了一下,成功了,但是说没有授权,可是我workbench进行了,增加,查询,好像没有问题啊(嘻嘻)

show databases;
use test;
show tables;
select * from user;
insert into user values('dfzxk','123456');
结果如下:

学的是SQL server,对于mysql这些有些不太熟悉,但是sql语法大体通用的。
上面说的
我Ubuntu的xwindows桌面崩溃过一次,因为\目录太小的原因,
当时安装系统时看网上教程一大推说,给根目录10g就行了,swap是内存二倍,
感觉这个建议很坑啊,网上一大推抱怨这个\目录10g的,可是给根目录增加容量
不容易啊!我准备增大根目录的容量,把\home移动5g给它,可是现在卡在了这里。
我整理了半天垃圾,现在还是这个情况,如果\目录剩余太小了,会发生很可怕的问题。
dfzxk@satan-master:~$ df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 1.9G 0 1.9G 0% /dev
tmpfs 382M 41M 342M 11% /run
/dev/sda8 9.4G 7.0G 2.0G 79% /
/dev/sda9 47G 13G 32G 30% /usr
tmpfs 1.9G 65M 1.8G 4% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda10 22G 1.4G 19G 7% /home
/dev/sda1 196M 29M 168M 15% /boot/efi
tmpfs 382M 40K 382M 1% /run/user/1003
参考文章: mysql Access denied for user root@localhost错误解决方法总结
MYSQL登录错误:mysqladmin: connect to server at 'localhost' failed
Failed to connect to mysql at 127.0.0.1:3306 with user root access denied for user 'root'@'localhost'(using password:YES) 解决database - Failed to connect to mysql at 127.0.0.1:3306 with user root access denied for user 'root'@'localhost'
教您如何查看MySQL用户权限 教您如何查看MySQL用户权限