1. 程式人生 > >centos7安裝mysql-5.7.28

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