Centos7 安裝MySQL 5.7 及1045 問題處理

Centos7 安裝MySQL 5.7

在CentOS中默認安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統(tǒng)中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。

1、下載并安裝MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然后就可以直接yum安裝了。

yum -y install mysql57-community-release-el7-10.noarch.rpm

之后就開始安裝MySQL服務器。

yum -y install mysql-community-server

這步可能會花些時間,安裝完成后就會覆蓋掉之前的mariadb。

至此MySQL就安裝完成了,然后是對MySQL的一些設置。

2 MySQL數(shù)據(jù)庫設置

首先啟動MySQL

systemctl start mysqld.service

查看MySQL運行狀態(tài),運行狀態(tài)如圖:

systemctl status mysqld.service

此時MySQL已經(jīng)開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:

grep "password" /var/log/mysqld.log

如下命令進入數(shù)據(jù)庫:

mysql -uroot -p

輸入初始密碼(是上面圖片最后面的 no;e!5>>alfg),此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數(shù)據(jù)庫:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

其中‘new password’替換成你要設置的密碼,注意:密碼設置必須要大小寫字母數(shù)字和特殊符號(,/';:等),不然不能配置成功

如果要修改為root這樣的弱密碼,需要進行以下配置:

查看密碼策略

show variables like '%password%';

修改密碼策略

vi /etc/my.cnf

添加validate_password_policy配置

選擇0(LOW),1(MEDIUM),2(STRONG)其中一種,選擇2需要提供密碼字典文件

添加validate_password_policy配置

validate_password_policy=0

關閉密碼策略

validate_password = off

重啟mysql服務使配置生效

systemctl restart mysqld

然后就可以修改為弱密碼啦

3 開啟mysql的遠程訪問

執(zhí)行以下命令開啟遠程訪問限制(注意:下面命令開啟的IP是 192.168.0.1,如要開啟所有的,用%代替IP):

grant all privileges on . to 'root'@'192.168.0.1' identified by 'password' with grant option;

然后再輸入下面兩行命令

flush privileges;

exit;

4 為firewalld添加開放端口

添加mysql端口3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

然后再重新載入

firewall-cmd --reload

5 修改mysql的字符編碼(不修改會產(chǎn)生中文亂碼問題)

顯示原來編碼:

show variables like '%character%';

修改/etc/my.cnf

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重啟數(shù)據(jù)庫

6、在登錄mysql時,有時會報1045錯誤,這個密碼或或用戶名錯誤:

解決方案:
1、找到你安裝mysql目錄,找到my_default.ini或者my.ini(看你安裝時使用的是哪一個配置文件),在[mysqld]下加入 skip-grant-tables
2、然后打開cmd,輸入net stop mysql(停止mysql服務)執(zhí)行后,再輸入net start mysql(開啟mysql服務)?;蛘遅in+R快捷鍵輸入services.msc按回車鍵后,在服務列表中找到mysql服務,重啟mysql服務。
3、此時登錄mysql就不需要密碼了。在cmd中輸入mysql -u root -p登錄數(shù)據(jù)庫(如果沒有配置環(huán)境變量,需要進入到你安裝mysql目錄下的bin目錄下)
4、輸入use mysql;回車
5、輸入update user set authentication_string=password('123qwe') where user='root';注意最后的分號不能漏,否則sql語句無效。authentication_string在5.7之前是password,5.7之后是setauthentication_string
6、輸入刷新數(shù)據(jù)庫指令,flush privileges;
7、輸入退出mysql指令:quit
8、改好之后,再修改一下my.ini或者my_default.ini(看你安裝時使用的是哪一個配置文件)這個文件,把我們剛才加入的”skip-grant-tables”這行刪除,保存退出再重啟mysql就可以了
9、再次登錄mysql可能會提示你ERROR 1862,這是你只需
mysql -u root -p(‘你修改過的密碼’)
SET PASSWORD = PASSWORD(‘新密碼’);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容