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 表名

DWITH_READLINE:绑定 readline 的终端快捷键及历史记录功能。但是安装完后是不是仍然找不着 readline 的感觉, 因为 DWITH_READLINE 在 MySQL 5.6.5 版本就被移除了,同样 DWITH_LIBEDIT 在 MySQL 5.6.12 版本也被移除了。


点击查看 更多编译参数。

如果编译失败,清理源码目录下的 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 = '';





你可能感兴趣的:(mysql)