linux 下安装Mysql5.7以后版本后不知道密码如何登陆

linux 下安装Mysql5.7以后版本后不知道密码如何登陆

第一次在linux下安装mysql,安装成功以后不知道密码无法登陆,看了好多博客说初始密码为空,然而并不是这样,输入空密码会报错,后来才知道和版本有关。5.7之前的版本默认是没有密码的,只需在服务器上直接登录,甚至用户名都不用指定,但除本机外网络是登不上的,5.7版本的话安装完后会生成一个随机密码,不知道设计这个有何意义,密码随机谁能知道?下面说下安装mysql和修改密码以及成功登陆mysql的过程。

  • 安装 mysql
    sudo apt-get install mysql-server mysql-client
  • 启动mysql
    service mysql start
  • 登陆mysql
    mysql -u root -p
    这时会让你输入密码,可是初始密码我们是不知道的,这时我们需要找到mysql的配置文件进行修改(配置文件具体路径根据你安装路径来确定)
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
[mysqld]
skip-grant-tables
  • 重启mysql
    service mysql restart
    这时我们可以不需要输入密码直接登陆mysql
  • 登陆mysql修改root密码(newpassword为你的新密码)
    mysql -u root -p
#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
  • 刷新权限
mysql> FLUSH PRIVILEGES;
  • 退出mysql
mysql> exit
  • 修改mysql配置文件
    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    将之前加入的“skip-grant-tables”注释掉
[mysqld]
#skip-grant-tables
  • 重启mysql
    service mysql restart
    这时我们就可以用刚刚设置好的新密码登陆mysql了

你可能感兴趣的:(mysql)