centos7(vultr)下安裝mysql5.7(各種坑:ERROR 1045 (28000),ERROR 1820 (HY000):ERROR 1819 (HY000))
阿新 • • 發佈:2018-12-29
環境: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
如有啥子問題,請多多指教。