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(‘新密碼’);