centos7(vultr)下安装mysql5.7(各种坑:ERROR 1045 (28000),ERROR 1820 (HY000):ERROR 1819 (HY000))

环境:centos7

云服务器厂商:vultr

mysql版本:5.7

添加 MySQL YUM 源

根据自己的操作系统选择合适的安装源,通过 rpm -Uvh 安装。

wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

安装 

 yum install mysql-community-server

 启动

systemctl start mysqld

 测试:

systemctl status mysqld

出现以下:

 mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-07-30 01:42:01 UTC; 9s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 29391 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 29374 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 29394 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─29394 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Jul 30 01:42:00 vultr.guest systemd[1]: Starting MySQL Server...
Jul 30 01:42:01 vultr.guest systemd[1]: Started MySQL Server.

就是启动成功。

重点来了,来了。

1号坑(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)):

安装完以后要改mysql密码,这时使用命令 mysql -uroot -p,然后要我们输入密码,回车。出现以下问题

[root@vultr local]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@vultr local]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方法:

1,停止mysql服务

systemctl stop mysqld.service

2.修改配置文件无密码登录

vi /etc/my.cnf  

在该文件的尾部添加:

skip-grant-tables  

 3.启动mysql,这时是免密登录:

mysql -u root  #别加 -p
use mysql;
update mysql.user set authentication_string=password('123456') where user='root' ;  

4.把第二步的   skip-grant-tables  删去。

  2号坑(ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.):

这是要你确定密码,用mysql -uroot -p,并输入你的密码,进入Mysql后,在mysql命令行中输入

set password = password('123456');#改你自己的密码

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

这是你2号坑,弄出的新坑。是你改的密码不够满足要求。

使用

set global validate_password_policy=0;  
set global validate_password_length=4;  

修改级别与最小的默认密码位数。

这回终于可以用mysql了,这是装得最艰辛的一次,没有之一。

参考:

https://blog.csdn.net/u010142437/article/details/79989853

https://www.jianshu.com/p/53ac2d55b279

https://www.jianshu.com/p/7cccdaa2d177

如有啥子问题,请多多指教。

猜你喜欢

转载自blog.csdn.net/TruthK/article/details/81280037