1. 程式人生 > >mysql讀寫分離(一)----------mysql安裝

mysql讀寫分離(一)----------mysql安裝

環境:

centos:5.7

mysql:percona-server-5.6.23-72.1.tar

編譯安裝步驟:

簡介

Percona server 是 MySQL 的衍生版,專注於 Linux/BSD 下 MySQL 資料庫伺服器的改進, 在功能和效能上較 MySQL 有著顯著的提升。

Percona Server 的編譯、配置和使用與 MySQL 完全一致,你完全可以把它當成是 MySQL 來使用。

下載percona:

wget http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.23-72.1/source/tarball/percona-server-5.6.23-72.1.tar.gz

安裝依賴

yum install gcc-c++ make cmake bison bison-devel ncurses-devel libaio-devel perl

對於 Fedora 20 和 CentOS 7 需要另外安裝一個 perl-Data-Dumper 包:
yum install  perl-Data-Dumper

建立 MySQL 使用者

useradd mysql  #新增mysql
passwd mysql   #修改mysql使用者密碼



編譯安裝

tar zxf percona-server-5.6.23-72.1.tar.gz -C /usr/local/src/
cd /usr/local/src/percona-server-5.6.23-72.1/
建立目錄:
mkdir /usr/local/mysql1811
mkdir /usr/local/mysql1811/etc
mkdir /home/mysql1811
mkdir /home/mysql1811/data



cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql1811 \-DSYSCONFDIR=/usr/local/mysql1811/etc \-DMYSQL_DATADIR=/home/mysql1811/data \-DMYSQL_UNIX_ADDR=/home/mysql1811/mysql.sock \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1

DENABLED_LOCAL_INFILE:允許匯入檔案到資料庫,以加快資料匯入速度, 使用 SQL 語句:LOAD DATA LOCAL INFILE 資料檔案 INTO TABLE 表名


如果編譯失敗,清理原始碼目錄下的 CMakeCache.txt 檔案,重新編譯即可。

make -j8
make install
chmod 777 /etc/init.d
chmod 777 /usr/local/mysql1811/


初始化資料庫

mkdir /home/mysql1811
chmod 777 /home/mysql1811
cd /usr/local/mysql1811
su mysql
./scripts/mysql_install_db --user=mysql --datadir=/home/mysql1811/data


拷貝服務檔案到 /etc/init.d/mysql1811,mysql56 這個檔名也是服務名,可以任意更改, 為了統一我們使用 mysql56 作為檔名:
cp support-files/mysql.server /etc/init.d/mysql1811

配置 my.cnf

mysql讀取my.cnf配置檔案位置的優先順序:
MySQL讀取各個my.cnf配置檔案的先後順序是:
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf
其他自定義路徑下的my.cnf,例如:/data/mysql/yejr_3306/my.cnf
mkdir /home/mysql1811/logs

mkdir /usr/local/mysql1811/etc
touch /usr/local/mysql1811/etc/my.cnf
my.cnf:
[client]
default-character-set = utf8mb4
#port=3307

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
max_connections =500

datadir=/home/mysql1811/data
socket=/home/mysql1811/mysql.sock
user=mysql
pid-file=/home/mysql1811/mysql.pid
port=3307

server-id=1811  #從庫伺服器 ID,注意伺服器 ID 不能重複
replicate-do-db=shantoo   #需要做複製的資料庫名,如果複製多個數據庫,重複設定這個選項即可
replicate-do-db=boluofan
replicate-do-db=blf_bops


slave-skip-errors=1032,1062,126,1114,1146,1048,1396  #自動跳過的錯誤code
read-only # slave can only read.

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
slow-query-log-file = /home/mysql1811/logs/slow_query.log
slow-query-log = 1
long_query_time =1

[mysqld_safe]
log-error=/home/mysql1811/logs/error.log


啟動 MySQL 服務

service mysql1811 start


更改 root 使用者密碼
開啟資料庫
/usr/local/mysql1811/bin/mysql -uroot

use mysql;
update user set password=password('admin') where user='root';
FLUSH PRIVILEGES;
delete from mysql.user where password = '';