首頁  >  文章  >  資料庫  >  一步步教你搭建Mysql單機多實例

一步步教你搭建Mysql單機多實例

藏色散人
藏色散人轉載
2021-11-19 16:56:281922瀏覽

0 簡介

隨著網路技術的發展,資料量越來越龐大,我們急需一個大的儲存和大的分析系統。雖然有nosql資料庫、hadoop檔案儲存等資料儲存方式能夠解決這個問題,但是,關係型資料庫依然有它的優勢所在,尤其是對結構化資料的處理,效能仍然很棒。或者,從公司的專案開發成本講,關聯式資料庫的使用比nosql資料庫使用更加簡易,更加便於維護。
因此,本文介紹Mycat使用的第一步(當然,這一步不是必須的),學會如何搭建Mysql單機多實例,從而應對大數據量查詢慢的問題。

1 啟動項目

vim /etc/apparmor.d/usr.sbin.mysqld
/etc/init.d/apparmor reload

AppArmor(Application Armor)是Linux核心的一個安全模組,AppArmor允許系統管理員將每個程式與一個安全設定檔關聯,從而限製程式的功能。簡單的說,AppArmor是與SELinux類似的存取控制系統,透過它你可以指定程式可以讀、寫或運行哪些文件,是否可以打開網路連接埠等。作為傳統Unix的自主存取控制模組的補充,AppArmor提供了強制存取控制機制,它已經整合到2.6版本的Linux核心中。
詳細資料查看:
Apparmor——Linux核心中的強制存取控制系統
http://www.cnblogs.com/-Lei/a...

#2 建立新實例的資料目錄

mkdir /var/lib/mysql2   创建目录
chown mysql /var/lib/mysql2  给mysql用户权限

3 建立資料庫,初始化資料庫

  • mysql 5.7以下
    mysql_install_db --user=mysql --datadir=/var/lib/ mysql2

  • mysql 5.7以上

  1. --user=mysql --datadir=/var/lib/mysql2

4 設定多重實例設定檔

[mysqld_multi]  
mysqld     = /install/mysql/bin/mysqld_safe  
mysqladmin = /install/mysql/bin/mysqladmin  
user       = root  
  
# The MySQL server  
[mysqld1]  
port            = 3306  
socket          = /tmp/mysql.sock  
datadir         =/var/lib/mysql  
pid-file        =/var/lib/mysql/mysql.pid  
user            =mysql  
  
log-bin         =master-bin  
log-bin-index           =master-bin.index  
...
[mysqld2]  
port            = 3307  
socket          =/tmp/mysql2.sock  
datadir         =/var/lib/mysql2  
pid-file        =/var/lib/mysql2/mysql.pid  
user            =mysql  
...

5 啟動實例

mysqld_multi   --defaults-file=/etc/mysql/my_multi.cnf start 1
mysqld_multi   --defaults-file=/etc/mysql/my_multi.cnf start 2

6 登陸Mysql

# 登陆Mysql服务器,执行mysql命令进入mysql控制台
mysql -uroot -P3307 -p -S/tmp/mysql2.sock
# 不用输入密码,直接回车
# 查看当前用户
select User from mysql.user;
# 创建Mysql用户test,并赋权限
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
GRANT GRANT OPTION ON *.* TO 'test'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test'@'%';

#推薦學習: 《mysql影片教學

以上是一步步教你搭建Mysql單機多實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除