安装mysql-server之后,root用户不能登录问题

解决步骤:

step1

mysql -u root -p  # 报错
# 报错信息……

step2

sudo cat /etc/mysql/debian.conf    # 查看此文件内debin-sys-maint用户的信息,这是系统自动生成的
mysql -u debin-sys-maint -p        # 用debin-sys-maint 登录mysql,密码在debin.conf里面

step3 修改root用户的密码

参考mysql查看数据库、表的基本命令

mysql> show databases;    # 显示数据库列表
mysql > use mysql;    # 进入mysql这个数据库
mysql> show tables;    # 显示表;
mysql> update user set authentication_string=PASSWORD("这里填要修改的密码") where user='root' and Host='localhost'

step4

$ mysql -u root -p
# 权限拒绝,不能访问mysql
$ sudo service mysql restart     # 这样也不行
再次执行step2、step3
mysql> use mysql;
mysql> select * from user;    # 一堆信息,尝试找出我们可能需要的列
mysql> select User, plugin, authentication_string, account_locked, password_expired, password_last_changed from user;
# 可以看到用户root的plugin值为auth_socket,其他用户的plugin值都为mysql_native_password
# 此时,找到root用户不能登录mysql的原因:
# root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password,直接用root权限登录就不用密码,修改root密码和登录验证方式。
# 所以,之前我仅仅是更改了root用户的密码,但是root用户的登录验证方式还是auth_socket的,
# 所以,要更改root账户认证模式
mysql> update user set authentication_string=PASSWORD('密码'), plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> exit;
# 重启mysql-server
$ sudo service mysql restart

附录

# flush privileges 什么意思
# mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。-
# 检查mysql是否运行
sudo netstat -tap | grep mysql
# 删除MySQL的方法
sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
# 上面的可能会有些是多余的,之后需要清理残余数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
# 配置root远程登陆
mysql> grant all on *.* to [email protected]'%' identified by '密码' with grant option;
mysql> flush privileges;
mysql> exit;

原文地址:https://www.cnblogs.com/daemonFlY/p/10917707.html

时间: 2024-08-05 06:44:53

安装mysql-server之后,root用户不能登录问题的相关文章

Mac下新安装的MySQL无法登陆root用户解决方法

一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile 如果已存在删除:  sudo rm -rf .bash_* 2.输入 i 3.然后粘贴以下内容 # mysql alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin' # ls ali

CentOS下配置MySQL允许root用户远程登录

1.常用命令: 安装上传下载文件命令yum install lrzsz安装webget工具yum -y install wget ------------------------------------分割线--------------------------------------------- 在CentOS上成功安装MySQL Server后,发现无法用客户端进行连接,查阅相关质料后发现如果想让root用户支持远程登录,是需要进行额外配置的:配置步骤如下: 步骤:    修改root密码

安装SQL SERVER开启SA用户登录的方法

家庭安装SQL SERVER开启SA用户登录的方法:(切记按照网址操作完后,最后一定要在"管理工具"的"服务"里把"SQL SERVER(MSSQL SERVER)"停用一次后再启动,否则依旧无法使用SA登录) 在新安装SQL,用SA用户登录数据库的时候出现如下的错误: 之前装过SQL7.0, SQL2000, SQL2005版的.2008版的,好像没有这复杂啊,百度了下找到了一个解决方案,归纳一下:这个错误一般由三个原因引起,登录方式设置错误.

ubuntu 14.04 安装mysql server初级教程

序,mysql数据库是开源的,被大多数企业所使用 目录 一.apt-get install 软件安装原理剖析二.安装mysql server三.配置和管理msyql 一.apt-get install 软件安装原理剖析 /etc/apt/sources.list 这个文件很重要,里面放了一些软件资源的库地址,我们每次利用apt-get install命令安装软件时,都是在读取这个文件. Ubuntu 软件仓库被分为四个部分:main(主要的), restricted(受限的), universe

安装Mysql Server

添加系统以外源: http://kernal.blog.51cto.com/8136890/1426095 [1]Install Mysql Server # yum -y install mysql-server # /etc/rc.d/init.d/mysqld start Initializing MySQL database:  WARNING: The host 'webserver1.lisys.cn' could not be looked up with resolveip. T

CentOS 7 安装MySql Server 5.6

1. 安装MySql Server 在/etc/yum.repos.d/目录下添加以下文件mysql-community.repo文件,内容如下: 1 [mysql56-community] 2 name=MySQL 5.6 Community Server 3 baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/5/$basearch/ 4 enabled=1 5 gpgcheck=0 执行yum install mysql-com

MySQL密码重置(root用户)

分别在Windows下和Linux下重置了MYSQL的root的密码: 在windows下: 1:进入cmd,停止mysql服务:Net stop mysql 到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动, 2:执行:mysqld-nt --skip-grant-tables(窗口会一直停止) 3:然后另外打开一个命入令行窗口,执行mysql(或者直接进入Mysql Command Line Cilent),此时无需输入密码即可进入. use mysql

Mysql user表root用户误删除后恢复

mysql user表root 用户误删除后恢复root用户 方法/步骤 1.停止mysql服务:在mysql安装目录下找到my.ini:在my.ini中找到以下片段[mysqld]:另起一行加入代码:skip-grant-tables 并保存 2.启动mysql服务,并登录mysql(无用户名和密码):找到user表加入root用户INSERT INTO user (Host,User,Password) VALUES( 'localhost ', 'root ',password( '123

如何重置MySQL数据库的root用户密码

问题 如何重置MySQL数据库的root用户密码 解决方案 当忘记MySQL的root密码的时候,可以进行如下的步骤重新设置MySQL的root密码: ■■Linux的平台■■ 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库.因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态