mysql讀寫分離(一)----------mysql安裝
阿新 • • 發佈:2019-01-09
環境:
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 = '';