1. 程式人生 > >centos7.0 安裝多個5.7 mysql

centos7.0 安裝多個5.7 mysql

1. 下載官網的linux包 : 選擇linux-Generic(centos)我下載的是 mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz


2. 解壓到/usr/local/ 下面, 更名mysql
    #tar xzvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
    #mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql


3. 建立檔案
    在mysql資料夾下面建立data/ 資料夾(儲存資料庫資料,也可以放在其他的位置)
    在mysql資料夾下面建立tmp/ 資料夾    
    建立my.cnf配置檔案,(單機只有一個數據庫不用配置,單機多資料庫必須建立, 並配置相應的內容):


[client]
socket = /usr/local/mysql/mysql.sock

[mysqld]
basedir= /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/mysql.sock




3. 改變資料夾許可權
     建立mysql使用者和使用者組:
        #groupadd mysql
        #useradd mysql -g mysql
        #chown -R mysql:mysql mysql/
        #chmod -R 755 mysql/


4. 安裝依賴包
    #yum -y install make gcc-c++ cmake bison-devel ncurses-devellibaio libaio-devel
        
4. 初始化
    兩種方式:
    一種直接初始化,使用預設的配置檔案,不用指定
        #/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
        最後一行可以得到初始化之後的密碼 類似: [Note] A temporary password is generated for
[email protected]
: <gxU*CxtK2k%
        
    另外一種指定配置檔案初始化:
        #/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize --user=mysql

        #/usr/local/mysql/bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql/my.cnf

    多機的情況下必須主要my.cnf檔案的位置:

       5.7版本尋找my.cnf的檔案的順序是

/etc/my.cnf

      /etc/mysql/my.cnf        /usr/local/mysql/etc/my.cnf          ~/.my.cnf 


 所以,要想使用到當前資料庫自己資料夾下的的my.cnf檔案,就必須在前面的三個檔案的地址上面沒有配置檔案才可以

5. 啟動資料庫:

    前臺啟動:
        #/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf  --user=mysql
    服務啟動:
        #/usr/local/mysql/support-files/mysql.server start


6. 登入更改密碼:
    第一個資料庫可以直接使用進入
        #/usr/local/mysql/bin/mysql -u root -p
    第二個資料庫必須使用進入
        #/usr/local/mysql/bin/mysql --socket=/usr/local/mysql/mysql.sock --port==3306 -u root -p
    使用初始化的時候得到的密碼 <gxU*CxtK2k%
    進入後直接修改密碼
        mysql>alter user 'root'@'localhost' identified by '123456';
        mysql>use mysql;
        msyql>update user set user.Host='%' where user.User='root';
        mysql>flush privileges;
        mysql>quit
        
7. 建立連結
    mysql命令
        #ln -s /usr/local/mysql/bin/mysql /usr/bin     
    service mysql 命令
        #ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql