1.1. 运行环境
操作系统:Centos 6/7,Redhat 6/7
1.2. 用户组规划部署
用户名 | 用户组 | 密码 | 涵盖服务器范围 | 用户路径 | 路径空间大小 |
mysql | mysql | Null | 数据库服务器 | /opt/alisql | 200G |
2. 安装
2.1. 安装前准备
编译需要 gcc>= 4.7, cmake >= 2.8
CentOS/Redhatyum 源里的 gcc 版本是 4.4 的,不满足需求,可以通过devtoolset 来安装高版本 gcc,devtoolset 目前最新套装是 devtoolset-4,包含 gcc 5.2。
[root@iZj6cich5sl4bw9f2e2erzZcxt]# yum install centos-release-scl -y
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# yum install devtoolset-4-gcc-c++ devtoolset-4-gcc -y
[root@iZj6cich5sl4bw9f2e2erzZcxt]# yum install cmake git -y
[root@iZj6cich5sl4bw9f2e2erzZcxt]# yum install ncurses-devel openssl-devel bison-y
2.2. 安装步骤
2.2.1. 新建用户组和用户
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# groupaddmysql
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# useradd-d /usr/local -g mysql –s/sbin/nologin mysql
2.2.2. 编译安装
1. 获取安装包
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# wget https://github.com/alibaba/AliSQL/archive/master.zip
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# unzip master.zip
2. cmake 配置
在配置前,要先设置下环境变量,这样才能用到 devtoolset-4 套装里的gcc。
[root@iZj6cich5sl4bw9f2e2erzZ cxt]#cd AliSQL-master/
[root@iZj6cich5sl4bw9f2e2erzZcxt]#scl enable devtoolset-4 bash
[root@iZj6cich5sl4bw9f2e2erzZ cxt]#cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="/opt/alisql"-DWITH_EMBEDDED_SERVER=0 -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_CSV_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_TOKUDB_STORAGE_ENGINE=1
3. 编译安装
[root@iZj6cich5sl4bw9f2e2erzZcxt]# make -j4 && make install
-j4 表示开 4 个并发编译进程,加速编译,根据机器 CPU 核数调整,一般是 CPU 核数 + 1,最终二进制安装在/opt/alisql 目录下。
2.2.3. 数据库初始化
1. 初始化
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# /opt/alisql/scripts/mysql_install_db--user=mysql
出现下面的提示,表示安装成功
【Tip】:在执行上面的命令,可能出现如下的错误:
【解决方法】出现上面的错误,执行下面的命令
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
重新执行/opt/alisql/scripts/mysql_install_db --user=mysql
2.配置数据库
[root@iZj6cich5sl4bw9f2e2erzZ cxt]# cd /opt/alisql
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# cp support-files/my-default.cnf/etc/my.cnf
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# service mysqld start
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# chkconfig --level 35 mysqld on
2. 设置数据库root的密码
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# cd /opt/alisql
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# ./bin/mysqladmin -u root password'root123!@#'
登入数据库,允许root用户远程连接
[root@iZj6cich5sl4bw9f2e2erzZ alisql]# mysql -u root -p
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
mysql> quit
2.3. 客户端远程连接