MySQL我選擇免編譯安裝,直接在linux下載,或者下載上傳至Linux。
現在用最新的MySQL 8。0系列,和最常用的MySQL 5。7系統,選擇適合自己的版本下載。
最新版本下載參考官方文件:https://downloads。mysql。com/archives/community/
所有版本的官方安裝文件:https://dev。mysql。com/doc/refman/
我選擇5。7版的最新版是5。7。33版本,Generic(常規大眾版),64位也是目前企業最常用的版本。
1。 前期準備:安裝依賴包,建立mysql使用者及使用者組
沒有這個依賴包,初始化會報錯。
yum search libaio # 查詢依賴包yum -y install libaio # 安裝libaio依賴包yum -y install libncurses* # 安裝libncurses* 依賴
建立mysql使用者及使用者組
groupadd mysql #建立mysql使用者組useradd -r -g mysql -s /bin/false mysql #建立系統使用者mysql並加入mysql使用者組
2。 linux下載MySQL並解壓到指定目錄
mkdir /mysql
1)下載MySQL
wget https://downloads。mysql。com/archives/get/p/23/file/mysql-5。7。33-linux-glibc2。12-x86_64。tar。gz
2)解壓MySQL
tar -zxvf mysql-5。7。33-linux-glibc2。12-x86_64。tar。gz
3)自己選擇好或建立好自己的路徑目錄,我是直接改名為mysql 直接移動到根目錄裡
注:路徑很重要,mysql預設是安裝在/usr/local/mysql路徑,如果不是這個目錄,後面啟動會報錯,需要修改一個指令碼檔案內容。如果懶得改的直接解壓移動到這個路徑即可
重新命名解壓的資料夾為mysql:
mv mysql-5。7。33-linux-glibc2。12-x86_64 mysql
將mysql資料夾移動到/根目錄
mv mysql /
進入根目錄的mysql資料夾可以看到這些檔案。
3。進入/mysql目錄,建立mysql-files並授權
在mysql目錄下建立mysql-files目錄,網上絕大部分都是複製來複制去建立data目錄(以前我被這種方式坑了太多次了),咱沒必要那樣還總是報錯,咱們還是安裝官方文件來更靠譜,後面安裝初始化後自己生成data資料夾。
5。7官方安裝文件:https://dev。mysql。com/doc/refman/5。7/en/binary-installation。html
建立目錄
mkdir /mysql/mysql-files
更改mysql-files許可權(網上大多數也是給整個mysql目錄授權,也沒必要,這一個檔案即可)
chown mysql:mysql mysql-fileschmod 750 mysql-files
改完後的目錄
4。安裝並初始化
安裝初始化,注意自己basedir=/mysql 路徑為你自己所存放的mysql路徑。
。/bin/mysqld ——initialize ——user=mysql ——basedir=/mysql
初始化安裝生成密碼和data資料夾。初始密碼,也是後面第一次進入mysql的密碼。
5。修改指令碼內容啟動資料庫
修改support-files目錄下的mysql。server指令碼檔案。
vim support-files/mysql。server
修改這兩個變數的路徑為自己設定的路徑即可。
basedir=/mysqldatadir=/mysql/data
測試是否啟動並登入成功
啟動資料庫:
。/support-files/mysql。server start
啟動成功!!!
登入資料庫輸入原始密碼:
。/bin/mysql -u root -p
登入成功,順便把原始密碼改了,在mysql下依次輸入以下命令。
自己設定自己的密碼,這裡我設定的是123456。
修改密碼:
SET PASSWORD = PASSWORD(‘123456’);
禁用密碼過期:
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
刷新系統許可權:
flush privileges;
修改好後,輸入
quit;
退出資料庫。
6。將mysql新增程序,新增變數,新增服務
由於現在我們只能依靠在mysql目錄下的指令碼才能啟動登入,所以需要新增mysql程序到系統程序,並配置環境變數以在命令列模式可直接輸入命令登入。
新增程序:
cp support-files/mysql。server /etc/init。d/mysql
新增好後。可以用命令
service mysql start
開啟服務,
service mysql stop
關閉服務。
當然如果我們習慣用systemctl 開啟或者關閉服務,就要用chkconfig新增到服務即可。
chkconfig ——add mysql
這時我們可以用
systemctl start mysql。service
開啟服務,
systemctl stop mysql。service
關閉服務了。
最後我們在/etc/profile裡面新增mysql環境變數
vim /etc/profile
在末尾新增:(注意你們自己設定的路徑,我的路徑是/mysql/bin)
export PATH=$PATH:/mysql/bin
儲存!
source /etc/profile
更新立即生效。
這時我們可以直接用
mysql -u root -p
登入mysql了。
到此mysql安裝完成!!
7。MySQL配置檔案(自己選擇行配置)
MySQL預設沒有配置檔案,如果需要,自己在/etc建立my。cnf配置檔案。
vim /etc/my。cnf
常用配置引數:
[client] #mysql客戶端執行的時候才會載入的選項組,如mysql命令#socket=tmp/mysql。sock #sock執行時sock路徑設定,重啟生效default-character-set=utf8 #預設字型[mysqld_safe] #服務端,此組優先順序最高log-error=/var/log/mysqld。log #錯誤日誌路徑pid-file=/var/run/mysqld/mysqld。pid #程序啟動路徑[mysqld] #服務端port=3306 #埠配置,預設3306datadir=/mysql/data #資料目錄socket=/mysql/mysql。sock #mysql以socket方式執行的sock檔案位置#user=root #預設使用者character-set-server=utf8 #伺服器使用的字符集default-storage-engine=INNODB #預設儲存引擎max_connections=151 #mysql最大連線數bind_address = 127。0。0。1 #監聽地址,如果是127。0。0。1,表示僅本機訪問autocommit = 1 #資料修改是否自動提交,為0不自動提交max_connect_errors = 1000 #最大錯誤連線數,防止dos攻擊lower_case_table_names = 1 #是否對sql語句大小寫敏感,1表示不敏感skip_name_resolve = 1 #禁用DNS主機名查詢,啟用以後用內網地址向mysqlslap請求響應快了一半[mysql] #客戶端設定no-auto-rehash #關閉命令自動補全#auto-rehash #開啟命令自動補全