msyql5.7安裝以及多例項配置
mysql版本:5.7.28
linux系統 centos 7.6
安裝(這裡為編譯安裝): (這裡的安裝目錄為/usr/local/mysql)
建立mysql使用者組: groupadd mysql
建立非登入使用者: user add -M -s /usr/sbin/nologin mysql -g mysql
安裝依賴:yum install cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl-devel automake autoconf make libtool bison-devel libaio-devel -y
mysql下載地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28.tar.gz
boost下載地址:http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
解壓mysql以及boost tar xfmysql-5.7.28.tar.gz
tar xf boost_1_59_0.tar.gz
進入mysql-5.7.28.tar.gz (cd /usr/local/mysql/mysql-5.7.28.tar.gz) 並且進行編譯:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=yes -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_BOOST=/usr/local/boost_1_59_0
編譯完之後進行安裝: make && make install
修改使用者許可權: chown -R mysql.mysql /usr/local/mysql/
如果只是進行單例模式安裝的話,接下來就直接進行初始化:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
環境變數配置: cp /usr/local/mysql/bin/mysql /usr/bin
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
刪除預設配置: rm -rf /etc/my.cnf
登入myslq: myql -uroot -p 然後輸入密碼(密碼為初始化的時候,root@localhost後面的字串)
登入之後進行密碼修改:set password=password('123456');
到此單例子模式安裝完成。
如果需要單臺伺服器配置多例模式,則在修改使用者許可權之後,不要急著初始化
先新建需要配置多例的資料存放位置,例如配置埠為3307,3308多例模式
則 : mkdir -p {3307,3308}/data
cd /usr/local/mysql/3307/
vi 3307.cnf
按i進行配置檔案編輯:[mysqld]
sport = 3307
socket = /tmp/mysql3307.sock
datadir = /usr/local/mysql/3307/data
basedir = /usr/local/mysql/3308/data
編輯完成之後進行:wq儲存退出
同樣的進入3308目錄vi 3308.cnf,然後編輯完配置檔案,內容和3307.cnf一樣,只是將3307改為3308即可,然後也儲存並且退出
修改目錄許可權:chown -R mysql.mysql 330*
分別初始化mysql3307和3308:
/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/3307/3307.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/3307/data/ --initialize
/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/3308/3308.cnf --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/3308/data/ --initialize
初始化完成之後,記住相應的密碼
修改啟動檔案,cd /etc/init.d/
cp mysql mysql3307
cp mysql mysql3308
再進行兩個啟動檔案的編輯:vim mysql3307 進入之後,找到basedir和datadir並進行如下配置:(按下esc之後再按/basedir或者datadir進行搜尋)
再按下esc之後再按/mysqld_safa進行搜尋找到如下位置並且新增 --defaults-file = '/usr/local/mysql/3307/3307.cnf'
編輯完成之後,進行:wq儲存並且退出
之後就可以分別啟動3307和3308兩個埠的多例mysql了
cd /etc/init.d/
./mysql3307 start
3308的啟動方式和3307的一樣,分別啟動完成兩個啟動檔案之後,就可以netstat -nltp 檢視
表示已經啟動成功,啟動成功之後,登入:mysql -uroot -P3307 -h127.0.0.1 -p 輸入初始化之後儲存下來的預設密碼,然後登入進去之後,進行密碼修改即可:set password=password('123456')
3308的登入以及密碼修改和上面3307埠的一樣,exit退出3307之後,然後進行3308的登入即可