MySQL 多執行個體安裝

來源:互聯網
上載者:User

標籤:path   maria   技術分享   print   tin   初始   設定檔   vim   adb   



在生產中有時候會遇到一台主機要運行多個MySQL伺服器----叫做多執行個體

下面示範多執行個體的安裝

首先我們規划下

基於二進位安裝

1、建立mysql使用者

useradd -r -s /sbin/nologin -d /app/mysql -m mysql##


2、解壓下載的二進位mariadb包

tar xvf mariadb-10.2.16-linux-x86_64.tar.gz -C /usr/local/##

3、建立軟串連

cd /usr/local/#ln -s mariadb-10.2.16-linux-x86_64/ mysql#

4、修改許可權

chown -R root.mysql /usr/local/mysql/##

5、環境變數(少了這步也可)

vim /etc/profile.d/mysql.sh# . /etc/profile.d/mysql.sh#

如果你已經二進位安裝了mariadb包,可以從以下開始

指定資料庫位置並初始化資料庫

1、建立規劃圖上的目錄

mkdir /mysqldb/{3306,3307,3308}/{etc,bin,data,pid,socket,log} -pv##

2、更改主目錄mysqldb的屬性

chown -R mysql.mysql /mysqldb/#

3、3306連接埠

cd /usr/local/mysql/#scripts/mysql_install_db  --datadir=/mysqldb/3306/data --user=mysql#

4、3307連接埠

scripts/mysql_install_db  --datadir=/mysqldb/3307/data --user=mysql#

5、3308連接埠

scripts/mysql_install_db  --datadir=/mysqldb/3308/data --user=mysql#


修改設定檔

1、複製設定檔

cp /etc/my.cnf /mysqldb/3306/etc/#

2、編輯設定檔

vim /mysqldb/3306/etc/my.cnf #

3、把上面的設定檔當模板傳送給3307、3308

cp /mysqldb/3306/etc/my.cnf  /mysqldb/3307/etc/cp /mysqldb/3306/etc/my.cnf  /mysqldb/3308/etc/#

4、更改07、08設定檔的連接埠

sed -i ‘s/3306/3307/g‘ /mysqldb/3307/etc/my.cnf sed -i ‘s/3306/3308/g‘ /mysqldb/3308/etc/my.cnf #


啟動程式

1、把事先編寫的啟動指令碼複製到06、07、08的bin目錄下

cp /root/mysqld /mysqldb/3306/bin/cp /root/mysqld /mysqldb/3307/bin/cp /root/mysqld /mysqldb/3308/bin/#

2、更改7、8的啟動指令碼進程號為自己的

vim /mysqldb/3307/bin/mysqld#07的改為3307vim /mysqldb/3308/bin/mysqld#08的改為3308

3、給啟動指令碼加執行許可權

chown +x /mysqldb/3306/bin/mysqld chmod +x /mysqldb/3306/bin/mysqld chmod +x /mysqldb/3307/bin/mysqld chmod +x /mysqldb/3308/bin/mysqld#

4、啟動服務指令碼

/mysqldb/3306/bin/mysqld start#/mysqldb/3307/bin/mysqld start#/mysqldb/3308/bin/mysqld start

5、ss -ntl查看

資料庫加固

1、給資料庫root使用者加密碼

mysqladmin  -S /mysqldb/3306/socket/mysql.sock password ‘centos‘mysqladmin  -S /mysqldb/3307/socket/mysql.sock password ‘centos‘mysqladmin  -S /mysqldb/3308/socket/mysql.sock password ‘centos‘

2、進入資料庫刪除匿名登陸

mysql -S /mysqldb/3306/socket/mysql.sock -uroot -p#
select user,host from mysql.user;#查看有哪些使用者delete from mysql.user where user=‘‘;#刪除匿名使用者


OK

exit 重新進入 ,如果不行,就重啟下服務

附加啟動指令碼代碼
#!/bin/bashport=3306mysql_user="root"mysql_pwd=""cmd_path="/usr/local/bin"mysql_basedir="/mysqldb"mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"function_start_mysql(){    if [ ! -e "$mysql_sock" ];then      printf "Starting MySQL...\n"      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &    else      printf "MySQL is running...\n"      exit    fi}function_stop_mysql(){    if [ ! -e "$mysql_sock" ];then       printf "MySQL is stopped...\n"       exit    else       printf "Stoping MySQL...\n"       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown   fi}function_restart_mysql(){    printf "Restarting MySQL...\n"    function_stop_mysql    sleep 2    function_start_mysql}case $1 instart)    function_start_mysql;;stop)    function_stop_mysql;;restart)    function_restart_mysql;;*)    printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n"esac

MySQL 多執行個體安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.