ubuntu下root能成功,但图形界面登录报错ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

开放root@localhost在图形界面登录权限

问题很奇葩,ubuntu下用root登陆mysql可以成功,但通过图形界面登陆mysql却报错: ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

输入命令,登陆mysql

sudo mysql -u root -p

查看user表:

select userplugin from mysql.user;

结果如下:参考9问题

| user             | plugin                |

+——————+———————–+

| root             auth_socket           |

发现root的plugin并不是本地密码,因此需要修改它,但由于MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。如果修改的密码太过低级,则无法通过,报如下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

先在mysql登陆下,修改密码策略,依次输入命令

set global validate_password_policy=0;

set global validate_password_mixed_case_count=0;

set global validate_password_number_count=3;

set global validate_password_special_char_count=0;

set global validate_password_length=3;

继续修改root用户对应密码,输入命令

update mysql.user set authentication_string=PASSWORD(输入root用户的密码), plugin=‘mysql_native_password’ where user=‘root’;

继续输入命令,刷新

flush privileges;

重启mysql

我是ubuntu系统,输入命令为。其他系统输入常用重启mysql命令即可

sudo /etc/init.d/mysql restart

进入mysql,查看user表root密码是不是本地

最后通过图形界面访问 ‘root’@’localhost’成功!

linux下VI编辑相关命令

1、linux下进入VI编辑,如何开始编辑、保存、退出?

按a 或者 i 开始编辑

按esc退出编辑模式 也可以按Ctrl c 或者 exit

按:wp 保存退出

:q!  不保存文件,强制退出vi命令
:w   保存文件,不退出vi命令
:wq  保存文件,退出vi命令

linux下mysql相关命令

1、如何登陆mysql、退出mysql

进入mysql,在根目录下,输入命令 mysql -uroot -p,后面输入数据库密码

退出mysql,在mysql下,输入命令 quit或者exit

 

2、Linux查看mysql 安装路径

可以用下面的命令查看所有的文件路径 ,在终端输入:

whereis mysql

回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

[root@localhost ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

 

3、查询运行文件所在路径(文件夹地址)

如果你只要查询文件的运行文件所在地址,直接命令(还是以mysql为例):

which mysql

终端显示:

[root@localhost ~]# which mysql
/usr/bin/mysql

 

4、查看mysql数据库文件存储位置

进入mysql后,输入命令

show global variables like “%datadir%”;

返回结果:

mysql> show global variables like “%datadir%”;

+—————+—————–+

| Variable_name | Value           |

+—————+—————–+

| datadir       | /var/lib/mysql/ |

+—————+—————–+

1 row in set (0.00 sec)

 

5、查看、创建、修改数据库名

查看所有数据库名,输入命令

show databases;

 

创建数据库名,输入命令

create database +数据库名称 ;(注意分号结尾)

 

6、启动mysql服务

ununtu系统下:

启动mysql,输入命令

sudo /etc/init.d/mysql start

停止mysql,输入命令

sudo /etc/init.d/mysql stop

重启mysql,输入命令

sudo /etc/init.d/mysql restart

 

7、修改统一数据库编码格式为utf8

a.先查看当前数据库编码格式:

输入命令mysql -uroot -p 进入mysql

继续输入命令

show variables like ‘%character%’;

返回结果为当前所有数据库的编码格式

+————————–+—————————-+

| Variable_name            | Value                      |

+————————–+—————————-+

| character_set_client     | utf8                       |

| character_set_connection | utf8                       |

| character_set_database   | latin1                     |

| character_set_filesystem | binary                     |

| character_set_results    | utf8                       |

| character_set_server     | latin1                     |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+————————–+—————————-+

8 rows in set (0.00 sec)

b.从上面可以看出mysql初始并非所有都是utf8编码,需要进行修改统一。

执行命令control+d ,退出数据库

继续执行命令进入vi编辑

sudo vim /etc/mysql/conf.d/mysql.cnf

在 

[mysql]

 标签的下一行添加下面的配置

default-character-set=utf8

 

输入下面的命令,打开第二个配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到 

[mysqld]

 标签,在其下一行添加下面的配置

character-set-server=utf8

 

配置文件修改成功之后,输入下面的命令重启mysql服务

sudo /etc/init.d/mysql restart

 

8、安装网站程序起始页,需要填写数据库地址

一般填写 localhost

 

9、查看下mysql的user表的用户权限

输入命令

select user, plugin from mysql.user;

返回结果

+——————+———————–+

| user             | plugin                |

+——————+———————–+

| root             | auth_socket           |

| mysql.session    | mysql_native_password |

| mysql.sys        | mysql_native_password |

| debian-sys-maint | mysql_native_password |

+——————+———————–+

4 rows in set (0.00 sec)

10、开放root@localhost在图形界面登录权限

问题很奇葩,ubuntu下用root登陆mysql可以成功,但通过图形界面登陆mysql却报错: ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

输入命令,登陆mysql

sudo mysql -u root -p

查看user表:

select user, plugin from mysql.user;

结果如下:参考9问题

| user             | plugin                |

+——————+———————–+

| root             | auth_socket           |

发现root的plugin并不是本地密码,因此需要修改它,但由于MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。如果修改的密码太过低级,则无法通过,报如下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

先在mysql登陆下,修改密码策略,依次输入命令

set global validate_password_policy=0;

set global validate_password_mixed_case_count=0;

set global validate_password_number_count=3;

set global validate_password_special_char_count=0;

set global validate_password_length=3;

继续修改root用户对应密码,输入命令

update mysql.user set authentication_string=PASSWORD(输入root用户的密码), plugin=‘mysql_native_password’ where user=‘root’;

继续输入命令,刷新

flush privileges;

重启mysql

我是ubuntu系统,输入命令为。其他系统输入常用重启mysql命令即可

sudo /etc/init.d/mysql restart

进入mysql,查看user表root密码是不是本地

最后通过图形界面访问 ‘root’@’localhost’成功!

Ubuntu系统下常见命令 sudo ubuntu用户

1、为什么linux 其他系统生成的用户名是root,而ubuntu系统生成的用户名默认是ubuntu?

安全性考虑,默认生成一般用户名ubuntu进行用户登录。

需要单独开放root登录,操作比较复杂。出于安全性运维考虑,不建议开通。

开放root用户登录

登录ubuntu用户,输入命令:

sudo passwd root

设定root密码

 

开放root进行ssh登录权限

用ubuntu用户登录,输入命令 su root 切换到root用户,输入root密码登录

 

进入vi编辑ssh权限

root@ubuntu:~# vi /etc/ssh/sshd_config

找到下面这段代码,注释掉 #PermitRootLogin without-password,

添加 PermitRootLogin yes

 

进入vi的编辑  退出 保存方式,详见3

 

2、ubuntu系统下经常使用sudo命令,需要输入sudo的密码是什么?

我刚装完ubuntu系统,执行sudo命令的时候,提示我输入sudo密码。那sudo密码是啥?是当前用户名的密码,我当前用户名是ubuntu,即其对应的密码。

 

3、进入指定文件夹命令

cd /root/xx

注意cd命令后面有空格

返回命令:

cd ..                  返回上一级目录

cd ../..               返回上两级目录

cd或cd ~           返回home目录

cd – 目录名       返回指定目录

 

control + D      退出linux 当前命令

 

4、网站程序需要安装在那个目录下?

/var/www/zhandian1

www为新建目录,后面放每个站点名称。对应网站安装程序可以放到站点目录下

 

5、查看ubuntu版本命令

终端根目录,输入命令

cat /etc/issue

Mac FileZilla提示错误:认证失败,严重错误,没法连接到服务器

filezilla有一个缓存的问题,点击顶部栏的编辑->清除个人信息。然后重新连续