1. 程式人生 > >centos7(vultr)下安裝mysql5.7(各種坑:ERROR 1045 (28000),ERROR 1820 (HY000):ERROR 1819 (HY000))

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,然後要我們輸入密碼,回車。出現以下問題

[[email protected] local]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[
[email protected]
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

如有啥子問題,請多多指教。