1) mysql 5 的安装
./configure --prefix=/opt/mysql5/ --with-plugins=partition,daemon_example,ftexample,archive,blackhole,csv,example,federated,heap,innobase,myisam,myisammrg,ndbcluster
说明:mysql-5.1.30 版本以后,mysql修改了默认安装的配置,不再默认安装支持 innodb。而把相应功能做成模块,通过--with-plugins 来定制安装。
我上面的编译命令,由于没有细致的了解--with-plugins,为了保证功能完整,我把所有模块都加上.
2) 配置启动脚本: 通过 --defaults-file= 来在一个服务器上,启动多个mysql服务。
因此安装路径: 数据目录统一放在 /data0/mysql,主库和从库的数据放在: master, slave 子目录下
主库的配置(主要配置信息,一些优化参数,参考配置文件附件)
#--begin--#
[mysqld]
datadir = /data0/mysql/master/var_3306
port = 3306
socket = /tmp/mysql-3306-master.sock
skip-locking
default-storage-engine=INNODB
max_connections=999
connect_timeout=30
#log_bin_trust_function_creators 控制是否信任给予创建Function权限的用户,是否可以不给Super权限就可以创建Fun
log_bin_trust_function_creators = 1;
#所有日志必须指定文件名,来区分不同副本的mysql服务
log-bin = /data1/mysqllog/log-bin-3306-master.log
binlog_format=mixed
log-error = /data1/mysqllog/err-3306-master.log
log-update = /data1/mysqllog/update-3306-master.log
sync_binlog = 0
#开启慢查询日志,不要所有副本都要开,
log-slow-queries = /data1/mysqllog/slow-queries-3306-master.log
long_query_time = 30
#主库配置
server-id = 1
binlog-do-db=shiwan
binlog-ignore-db=mysql
#从库配置
#server-id = 2
#master-host = 192.168.10.203
#master-port = 3307
#master-user = 用户名
#master-password = 密码
#replicate-do-db=shiwan
#--end--#
3) 生成系统库,每个msyql副本。都要有自己的单独系统库(mysql)
改/opt/mysql5/bin/mysql_install_db 文件中的 ldata=/data0/mysql/master/var_3306
ldata 就是 --defaults-file配置文件中的 datadir
最后运行/opt/mysql5/bin/mysql_install_db --user=mysql
4)修改mysql 相关数据目录的属性 chown -R mysql:mysql
5)启动数据库(可以写rc.local)
cd /opt/mysql5 ; /opt/mysql5/bin/mysqld_safe --defaults-file=/data0/mysql/master/var_3306/3306_master.cnf &
6) 设置管理用户口令