CentOS7.4用yum安裝並配置MySQL5.7
1、配置YUM源
下載MySQL源安裝包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝MySQL源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
檢查MySQL源是否安裝成功
yum repolist enabled |grep mysql
2、安裝MySQL
yum install mysql-community-server
安裝時可能會出現類似以下的錯誤:
Error downloading packages:
mysql-community-client-5.7.27-1.el7.x86_64: [Errno 256] No more mirrors to try.
mysql-community-common-5.7.27-1.el7.x86_64: [Errno 256] No more mirrors to try.
解決方案如下:
1. 清理軟體源
yum clean all
2. 建立源資料快取
yum makecache
再次重新安裝,出現“Complete!”表示安裝成功
rpm -qa | grep mysql,檢視都安裝了那些包
3、啟動MySQL服務
systemctl start mysqld
檢視MySQL的啟動狀態
systemctl status mysqld
開機啟動
systemctl enable mysqld
過載所有修改過的配置檔案
systemctl daemon-reload
4、檢視MySQL下root賬號的預設密碼
mysql5.7安裝完成之後,在/var/log/mysqld.log檔案中給root生成了一個預設密碼。通過下面的方式找到root預設密碼,然後登入MySQL。
命令:grep 'temporary password' /var/log/mysqld.log
可以看到預設的密碼是:<4d&do#k5V&f
用預設密碼進到MySQL資料庫是不能操作的,需要修改root密碼
5、先修改配置檔案,後設定密碼
開啟MySQL預設配置檔案:vim /etc/my.cnf
在[mysqld]下增加以下配置
MySQL5.7預設對使用者密碼有密碼強度要求,必須包含數字、小寫字母、大寫字母 、特殊字元,長度至少8位(關於MySQL5.7密碼策略及修改技巧,可以參考這篇文章:https://www.jianshu.com/p/5779aa264840)
# 如果不需要密碼策略,禁用密碼策略
validate_password = off
# 字元編碼設定為utf8
character_set_server = utf8
init_connect = 'SET NAMES utf8'
# 設定資料庫表名不區分大小(0:區分大小寫,1:不區分大小寫),Linux下預設對MySQL資料庫表名區分大小寫,Windows下不區分
lower_case_table_names=1
儲存my.cnf配置檔案並重啟mysql服務使配置生效
systemctl restart mysqld
登入MySQL
mysql -u root -p
輸入密碼:預設為剛才查到的密碼"<4d&do#k5V&f"
6、修改密碼步驟如下:
alter user 'root'@'localhost' identified by '123456';
grant all privileges on *.* to 'root' @'%' identified by 'yourpassword'; # 允許遠端訪問MySQL
重新整理許可權
flush privileges;
重新登入MySQL
mysql -u root -p
輸入剛設定的密碼"123456"即可登入進MySQL
7、檢視設定的字符集
show variables like "%character%";show variables like "%collation%";
8、MySQL安裝目錄
MySQL安裝完成後,它的資料庫檔案、配置檔案和命令檔案分別在不同的目錄
show variables like '%dir%';
資料庫目錄(data預設存放目錄)
/var/lib/mysql/
配置檔案目錄
/usr/share/mysql(mysql.server命令及配置檔案)
相關命令目錄
/usr/bin(mysqladmin mysqldump等命令)
錯誤日誌目錄
/var/log/mysqld.log
socket檔案目錄
/var/lib/mysql/mysql.sock
服務啟動指令碼檔案
/usr/lib/systemd/system/mysqld.service