安裝
1、配置mysql 8.0安裝源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2、安裝mysql
sudo yum --enablerepo=mysql80-community install mysql-community-server
提示下載插件選擇:y
3、啓動mysql服務、
sudo service mysqld start
4、查看mysql服務運行狀態
service mysqld status
顯示如下:
5、查看root臨時密碼
grep "A temporary password" /var/log/mysqld.log
6、修改臨時密碼
輸入:mysql -u root -p
方案1: 設置符合策略的密碼(大小寫字母+數據+符號)
方案2:密碼策略改簡單一點
方案3:最簡單
方案一設置:
在Enter password:後面輸入臨時密碼
登錄成功
輸入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’;
會提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密碼不符合當前策略)
方案二設置:
1、先看看當前的密碼驗證策略
2、輸入:SHOW VARIABLES LIKE ‘validate_password.%’;
3、策略說明
validate_password.length 是密碼的最小長度,默認是8,我們把它改成6
輸入:set global validate_password.length=6;
validate_password.policy 驗證密碼的複雜程度,我們把它改成0
輸入:set global validate_password.policy=0;
validate_password.check_user_name 用戶名檢查,用戶名和密碼不能相同,我們也把它關掉
輸入:set global validate_password.check_user_name=off;
4、再執行修改密碼的命令
輸入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘12345’;
密碼設成功
方案三設置:
1、修改配置文件免密碼登錄mysql
vim /etc/my.cnf
2、在 [mysqld]最後加上如下語句 並保持退出文件;
skip-grant-tables
3、免密碼登錄到mysql上,修改mysql數據庫(名稱),user表的authentication_string=password
update user set authentication_string= password('new-password') where user = 'root' ;
flush privioleges;
4、刪除之前my.cnf中添加的skip-grant-tables
用mysql客戶連接報不允許連接的錯誤,那是因爲沒開通遠程訪問的權限
7、配置遠程訪問
# 在服務器上進入MySQL控制檯
$ mysql -u root -p
# 授權遠程用戶登錄 %表示任意地址,也可以指定IP
> grant all privileges on *.* to root@'%' identified by 'your_root_password';
# 重載授權表
> flush privileges;
> exit;