1. 程式人生 > >Centos7 下安裝mysql5.7.17(glibc版)

Centos7 下安裝mysql5.7.17(glibc版)

一、安裝前的檢查
  1.1 檢查 linux 系統版本

[[email protected] ~]# cat /etc/system-release

  1.2 檢查是否安裝了 mysql

[[email protected] ~]# rpm -qa | grep mysql

 

   若存在 mysql 安裝檔案,則會顯示 mysql安裝的版本資訊
   如:mysql-connector-odbc-5.2.5-6.el7.x86_64
   解除安裝已安裝的MySQL,解除安裝mysql命令,如下:
     

[[email protected]
~]# rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64

 

   將/var/lib/mysql資料夾下的所有檔案都刪除乾淨。
   細節注意:
   檢查一下系統是否存在 mariadb 資料庫,如果有,一定要解除安裝掉,否則可能與 mysql 產生衝突。
   檢查是否安裝了 mariadb:

     

[[email protected] ~]# rpm -qa | grep mariadb
刪除        
systemctl stop mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

  

   
三、安裝 mysql
  3.1 解壓安裝包,並移動至 mysql 目錄下
    解壓 mysql 的 gz 安裝包:
    

[[email protected] apps]# tar -zvxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql
/usr/local 目錄下建立資料夾存 mysql:[[email protected] ~]# mkdir /usr/local/mysql

  


  3.2 新增系統使用者
    新增 mysql 組和 mysql 使用者:
      

新增 mysql 組:[[email protected] ~]# groupadd mysql
新增 mysql 使用者:[[email protected] ~]# useradd -r -g mysql mysql

  


  
  3.3 安裝 mysql
    

進入安裝 mysql 軟體目錄:[[email protected] ~]# cd /usr/local/mysql/
安裝配置檔案:[[email protected] mysql]# cp ./support-files/my-default.cnf /etc/my.cnf(提示是否覆蓋,輸入“ y ”同意)
修改被覆蓋後的 my.cnf:[[email protected] mysql]# vim /etc/my.cnf

  

 

[mysql] 
# 設定mysql客戶端預設字符集 
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock 
[mysqld] 
#skip-name-resolve 
#設定3306埠 
port = 3306 
socket=/var/lib/mysql/mysql.sock 
# 設定mysql的安裝目錄 
basedir=/usr/local/mysql 
# 設定mysql資料庫的資料的存放目錄 
datadir=/usr/local/mysql/data 
# 允許最大連線數 
max_connections=200 
# 服務端使用的字符集預設為8位元編碼的latin1字符集 
character-set-server=utf8 
# 建立新表時將使用的預設儲存引擎 
default-storage-engine=INNODB 
#lower_case_table_name=1 
max_allowed_packet=16M 
#初始時使用無密碼登陸mysql
#skip-grant-tables

  


    
    

建立 data 資料夾:[[email protected] mysql]# mkdir ./data
修改當前目錄擁有者為 mysql 使用者:[[email protected] mysql]# chown -R mysql:mysql ./
初始化 mysqld:[[email protected] mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/


啟動 mysqld:[[email protected] mysql]# service mysqld start

  


    如正常,則安裝成功

    如報錯:
    

# 2018-09-08T01:42:11.940420Z mysqld_safe Logging to '/var/log/mysqld/my57_3307.log'.
2018-09-08T01:42:11.949380Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
[1]+ Exit 1 /usr/local/mysql57/bin/mysqld_safe --defaults-file=/dbdata/mysql/my57_3307/my57_3307.cnf --ledir=/usr/local/mysql57/bin

  

解決辦法:

1、編輯mysql安裝目錄bin下的mysqld_safe檔案

[[email protected] ~]# vim /usr/local/mysql/bin/mysqld_safe

  

2、找到下面的程式碼處

# Check that directory for $safe_mysql_unix_port exists
mysql_unix_port_dir=`dirname $safe_mysql_unix_port`
if [ ! -d $mysql_unix_port_dir ]
then
mkdir $mysql_unix_port_dir
chown $user $mysql_unix_port_dir
chmod 755 $mysql_unix_port_dir
# 這裡是5.7版本原始的配置:修改為上面三行
# log_error "Directory '$mysql_unix_port_dir' for UNIX socket file don't exists."
# exit 1
Fi

  


儲存後,重新啟動成功