centos7安裝mysql-5.7.28
mysql是我們最常用的開源的關係型資料庫,mysql不同版本有時候安裝的方式也不盡相同,下面以mysql5.7.28版本為例梳理一下安裝細節:
1.下載mysql-5.7.28,URL:https://downloads.mysql.com/archives/community/ 我這裡下載的是64位版本
下載後文件為:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
2. 解除安裝自帶的mariadb和mysql
檢查是否安裝了mariadb和mysql,有時候預設安裝了
rpm -qa | grep mariadb rpm -qa | grep mysql
如果沒有,就可以安裝mysql,如果有,需要先解除安裝(remove後為上面命令查詢到的內容,全檔名,我這裡沒有,沒法展示)
yum remove mariadb-xxx
3.解壓檔案,修改目錄名方便配置
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /opt/soft/
cd /opt/soft
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28
4.在/usr/local/目錄下建立到/opt/soft/mysql-5.7.28的軟連結
cd /usr/local
ln -s /opt/soft/mysql-5.7.28 mysql
5.新增mysql使用者,修改mysql目錄許可權,並用此使用者執行應用
useradd -s /bin/false -M mysql
cd /opt/soft
chown -R mysql:mysql mysql-5.7.28
6.拷貝配置檔案,將mysql的配置檔案拷貝為/etc/目錄下的my.cnf,並修改配置檔案
vim /etc/my.cnf
[mysqld] # binlog 配置 log-bin=/usr/local/mysql/logs/mysql-bin.log expire-logs-days=14 max-binlog-size=500M server-id=1 # GENERAL basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock user=mysql default-storage-engine=InnoDB character-set-server=utf8
lower_case_table_names = 1
explicit_defaults_for_timestamp=true [mysqld_safe] log-error=/usr/local/mysql/mysql-error.log pid-file=/usr/local/mysql/mysqld.pid [client] socket=/usr/local/mysql/mysql.sock [mysql] default-character-set=utf8 socket=/usr/local/mysql/mysql.sock
7.安裝mysql,進入mysql目錄執行以下命令
cd /opt/soft/mysql-5.7.28 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
如果出現如下錯誤,說明需要安裝依賴包:
安裝autoconf依賴包:
yum -y install autoconf
再次執行指令碼
如果出現以下錯誤,說明在my.cnf中指定的binlog配置檔案的logs資料夾不存在:
在/usr/local/mysql/下建立logs資料夾就行了,並改為mysql使用者
再次執行指令碼
出現以下資訊,代表成功,要儲存一下密碼,
8.拷貝啟動程式,將mysql的啟動程式拷貝到/etc/init.d/目錄下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
9.安裝完,啟動mysql服務
service mysqld start
如果出現如下錯誤:
[root@s144 support-files]# service mysqld start Starting MySQL.2020-01-31T23:14:27.412533Z mysqld_safe error: log-error set to '/usr/local/mysql/mysql-error.log', however file don't exists. Create writable for user 'mysql'. ERROR! The server quit without updating PID file (/usr/local/mysql/data/s144.pid).
說明mysql-error.log不存在,手動去建立,並修改許可權
cd /opt/soft/mysql-5.7.28 touch mysql-error.log chown mysql:mysql mysql-error.log
出現SUCCESS,說明啟動成功
10.配置環境變數,編輯/etc/profile,方便在任何地方用mysql命令
vim /etc/profile
#mysql
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
別忘記重新編譯 /etc/profile
source /etc/profile
11.登入mysql,修改密碼
首次登入沒有密碼,提示輸入密碼時,輸入第7步安裝時生成的密碼:p5j2jfX7am.h
mysql -uroot -p
這裡要先使用alter user重置密碼,不然會報錯,我這裡 修改mysql root使用者密碼 為 111111 :
mysql> alter user 'root'@'localhost' identified by '111111'; mysql> flush privileges;
至此本機登入密碼修改完成,若是想讓其他機器訪問,需要配置遠端訪問:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
使用遠端工具測試一下:
至此搭建mysql-5.7.28版本就完成了
12.一些常用命令
service mysqld start #啟動
service mysqld stop #關閉
service mysqld restart #重啟
service mysqld status #檢視執行狀態
&n