1.依赖环境

软件 软件要求
linux内核版本: 2.6.18及以上版本(操作系统依赖)
gcc版本: 4.8.2及以上版本、glibc-devel(c++语言框架依赖)
bison工具版本: 2.5及以上版本(c++语言框架依赖)
flex工具版本: 2.5及以上版本(c++语言框架依赖)
cmake版本: 2.8.8及以上版本(c++语言框架依赖)
mysql版本: 4.1.17及以上版本(框架运行依赖)
rapidjson版本: 1.0.2版本(c++语言框架依赖)
nvm版本: 0.33.11及以上版本(web管理系统依赖)
node版本: 8.11.3及以上版本(web管理系统依赖)

运行服务器要求:1台普通安装linux系统的机器即可。

1.1. glibc-devel安装介绍

如果没有安装glibc的开发库,需要先安装。

例如,在Centos下,执行:

  1. yum install glibc-devel

1.2. cmake安装介绍

cmake是tars框架服务依赖的编译环境。

下载cmake-2.8.8源码包,解压:

  1. tar zxvf cmake-2.8.8.tar.gz

进入目录:

  1. cd cmake-2.8.8

进行如下操作:(选择适合自己的操作步骤)

  1. ./bootstrap(如果系统还没有安装CMake,源码中提供了一个 bootstrap 脚本)
  2. make
  3. make install(如果make install失败,一般是权限不够,切换root进行安装)

1.3. mysql 安装介绍

安装前,确定系统是否安装了ncurses、zlib,若没有,可以执行:

  1. yum install ncurses-devel
  2. yum install zlib-devel

设置安装目录,切换至root用户

  1. cd /usr/local
  2. mkdir mysql-5.6.26
  3. chown ${普通用户}:${普通用户} ./mysql-5.6.26
  4. ln -s /usr/local/mysql-5.6.26 /usr/local/mysql

用utf8的安装方式
下载mysql源码(这里使用的是mysql-5.6.26),用utf8的安装方式mysql,解压后编译:

  1. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.26 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
  2. make
  3. make install

注意,对于用Tars的c++进行开发编译的服务,mysql建议采用静态库,源码编译,避免所有服务器都要安装mysql的动态库。

对于在服务器用Tars的c++进行开发编译服务代码而言,经过上面步骤就可以进行编译安装Tars开发框架了。

若要是搭建Tars框架的运行环境,需要以下步骤,切换至root用户,对mysql进行配置。

  1. yum install perl
  2. cd /usr/local/mysql
  3. useradd mysql
  4. rm -rf /usr/local/mysql/data
  5. mkdir -p /data/mysql-data
  6. ln -s /data/mysql-data /usr/local/mysql/data
  7. chown -R mysql:mysql /data/mysql-data /usr/local/mysql/data
  8. cp support-files/mysql.server /etc/init.d/mysql
  9. **如果/etc/目录下有my.cnf存在,需要把这个配置删除了**
  10. yum install -y perl-Module-Install.noarch
  11. perl scripts/mysql_install_db --user=mysql
  12. vim /usr/local/mysql/my.cnf

给一个my.cnf配置实例:

  1. [mysqld]
  2. # Remove leading # and set to the amount of RAM for the most important data
  3. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
  4. innodb_buffer_pool_size = 128M
  5. # Remove leading # to turn on a very important data integrity option: logging
  6. # changes to the binary log between backups.
  7. log_bin
  8. # These are commonly set, remove the # and set as required.
  9. basedir = /usr/local/mysql
  10. datadir = /usr/local/mysql/data
  11. # port = .....
  12. # server_id = .....
  13. socket = /tmp/mysql.sock
  14. bind-address={$your machine ip}
  15. # Remove leading # to set options mainly useful for reporting servers.
  16. # The server defaults are faster for transactions and fast SELECTs.
  17. # Adjust sizes as needed, experiment to find the optimal values.
  18. join_buffer_size = 128M
  19. sort_buffer_size = 2M
  20. read_rnd_buffer_size = 2M
  21. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

注意将bind-address改为部署机器的IP

启动mysql

  1. service mysql start
  2. chkconfig mysql on

结束mysql

  1. service mysql stop

添加mysql的bin路径

  1. vim /etc/profile
  2. PATH=$PATH:/usr/local/mysql/bin
  3. export PATH

修改root密码(采用root密码)

  1. ./bin/mysqladmin -u root password 'root@appinside'
  2. ./bin/mysqladmin -u root -h ${主机名} password 'root@appinside'

注意${主机名}需要修改成自身机器的名称,可以通过查看/etc/hosts

添加mysql库路径

  1. vim /etc/ld.so.conf
  2. /usr/local/mysql/lib/
  3. ldconfig

========================

mysql主从配置可以参考网上教程

master赋予权限:

  1. GRANT REPLICATION SLAVE ON *.* to 'mysql-sync'@'%' identified by 'sync@appinside'

slave设置主备同步项

  1. change master to master_host='${备机Ip}',master_user='mysql-sync',master_password='sync@appinside' ,master_log_file='iZ94orl0ix4Z-bin.000004',master_log_pos=611;
  2. stop slave
  3. start slave
  4. show master status\G;
  5. show slave status\G;

注意${备机Ip}需要修改成备机数据库的Ip