本文整理在Linux上安裝MySQL的兩種方式,分別是壓縮包解壓方式安裝與RPM軟件包方式安裝。可以先通讀全文,查看兩種安裝方式的區別,最後選擇使用哪種方式進行安裝。(推薦第一種)
一、壓縮包解壓方式
環境檢查
Linux系統版本:CentOS7
MySQL版本:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
注意:本文演示的是5.7.25版本的,版本一定要完全一致,小版本之間也會出現安裝步驟不一致的問題。經過多次試驗,以下步驟是能夠一次安裝成功的。
下載地址:https://downloads.mysql.com/archives/community/
檢查Linux系統上是否裝有舊版的Mysql
rpm -qa | grep mysql
若有舊版,則通過以下命令刪除
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通刪除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 強制刪除,排除依賴
檢查是否有mariadb
rpm -qa | grep mariadb
若有舊版,通過相似的命令刪除
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
軟件安裝
軟件上傳與解壓
將mysql軟件包上傳到 /usr/local目錄下
解壓,並重命名文件夾
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql
添加mysql用戶和用戶組
先檢查是否已經有mysql用戶和mysql用戶組
cat /etc/passwd | grep mysql
cat /etc/group | grep mysql
若是以下情況,表示已經存在mysql用戶和組,無需另外創建,否則需要創建mysql的用戶和用戶組
存在mysql組的情況:
一般mysql用戶是沒有創建的,我們通過下面的命令進行創建
groupadd mysql
useradd mysql -g mysql
安裝數據庫
創建data文件夾
mkdir -p /usr/local/mysql/data
將文件夾的所有者和用戶組改爲mysql
chown mysql:mysql -R /usr/local/mysql/data
編輯配置文件 vim /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
character_set_server=utf8
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
[mysql]
default-character-set=utf8
進入bin目錄,初始化數據庫
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
添加mysql服務
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
啓動mysql
service mysql start
查看初始密碼,並複製密碼用於下面的登錄
cat /usr/local/mysql/data/mysql.log
登錄mysql
cd /usr/local/mysql/bin
./mysql -u root -p
修改密碼
set password for root@localhost = password('123456');
開機啓動
chkconfig --add mysql
檢查開機啓動項
chkconfig --list
添加環境變量 vim /etc/profile,在最後加上
export PATH=$PATH:/usr/local/mysql/bin
使環境變量生效
source /etc/profile
登錄mysql,檢查字符集(按照上述的配置,字符集是沒有問題的,都是utf8)
mysql -uroot -p
show variables like '%char%';
二、RPM方式安裝
使用該方式安裝mysql類似於在windows系統上的用exe軟件安裝程序。下面同樣介紹的是安裝mysql5.7.25的版本。
環境檢查
Linux系統版本:CentOS7
MySQL版本:mysql 5.7.25
下載軟件時以下四個需要同時下載,libs和common爲依賴:
下載地址:https://downloads.mysql.com/archives/community/
檢查Linux系統上是否裝有舊版的Mysql
rpm -qa | grep mysql
若有舊版,則通過以下命令刪除
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通刪除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 強制刪除,排除依賴
檢查是否有mariadb
rpm -qa | grep mariadb
若有舊版,通過相似的命令刪除
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
軟件安裝
上傳上述的四個軟件到第三方軟件包存放路徑 /opt
使用以下命令進行安裝(i:安裝,v:顯示安裝過程,h顯示進度)
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm mysql-community-client-5.7.25-1.el7.x86_64.rpm mysql-community-common-5.7.25-1.el7.x86_64.rpm mysql-community-libs-5.7.25-1.el7.x86_64.rpm
檢查是否安裝成功
rpm -qa | grep -i mysql
檢查是否創建用戶和用戶組
cat /etc/passwd | grep mysql
cat /etc/group | grep mysql
格式:用戶名:密碼:用戶id:組id 登錄的默認shell
或者使用mysqladmin --version查看
啓動/停止服務
service mysqld start //注意不同的系統,看是否要加d
service mysqld stop
修改密碼
查看初始密碼
cat /var/log/mysqld.log | grep "A temporary"
用初始密碼登錄:mysql -uroot -p
修改密碼:alter user root@localhost identified by ‘123456’;
使用該語句修改密碼需要先修改mysql的策略要求,即修改參數,否則會提示:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql的validate_password_policy如下
默認是1,即MEDIUM,所以剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。
修改兩個參數:
set global validate_password_policy=0;
set global validate_password_length=1;
然後修改密碼:
alter user root@localhost identified by '123456';
開機啓動
chkconfig mysqld on
檢查服務是否自啓動(按q退出)
systemctl list-unit-files
或者輸入ntsysv 檢查mysql服務是否開機啓動(按Tab鍵切換到OK)
數據庫文件的安裝配置位置:
/var/lib/mysql/ 數據庫數據的存放位置
/usr/share/mysql 配置文件目錄位置
/usr/bin mysqladmin等命令
/etc/my.cnf 配置文件的位置
/var/log/mysqld.log 日誌文件位置
修改亂碼問題
show variables like ‘%char%’;
默認情況下,客戶端和服務器的字符集都是latin1(拉丁),中文情況下會亂碼
拷貝一份配置文件
cp /etc/my.cnf /etc/my.cnf.bak
修改my.cnf配置 vim /etc/my.cnf
添加或修改以下信息:
[client]
default-character-set=utf8
[mysqld]
port=3306
character-set-server=utf8
collation-server=utf8_general_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
...
[mysql]
default-character-set=utf8
修改完配置信息後,重啓mysql服務
service mysqld restart
注意:原先創建的數據庫仍然是不支持中文的,需要另外創建一個數據庫,可以看到支持中文。
檢查字符集:
總結:上述兩種方式都可以安裝mysql數據庫,但第二種雖然安裝過程簡單,但是很多路徑使用的都是默認的路徑,我們在安裝時無法自己指定這些路徑,因此推薦第一種方式進行安裝。