Bootstrap

Centos7离线安装ALISQL5.6.32-8

由于公司设备对数据需要大量的读取和查询,开始使用的mysql8,但是未优化的mysql插入和查询及其缓慢,因此我与同事分开研究,优化方案。我负责寻找可替代高效的数据库,然后问同学,发现alisql性能不错,打算研究下,安装后发现相同未配置情况下,alisql可以快mysql起码十倍。

注:由于我们程序内存在长索引,但是由于5.6.32基于的mysql版本过老,无法加长索引,故放弃,但是用来一般毕业设计或者没有场索引需求的产品,我认为这是个绝佳的选择。

如果程序内有一些必须新版mysql才能实现的功能,建议直接放弃此版本数据库。

安装步骤

1.系统准备

安装centos7时,选择带有桌面服务器,软件选择中必选“开发工具”(如果不选开发软件,gcc之类的都是默认不装的,安装起来需要各种依赖很麻烦)

2、下载准备需要使用的安装包

ncurses-5.9.tar.gz

cmake-2.8.10.2.tar.gz

bison-2.7.tar.gz

AliSQL-AliSQL-5.6.32-8.tar.gz

my.cnf(此文件为数据库配置)

以上为所需要的安装包,自行去网上下载一下。

或者使用百度网盘:链接: https://pan.baidu.com/s/1VMMH_ZoiaAGRK_pcZYjlAA 提取码: awpi

将所有安装包和文件拖入到/opt/alisql/下,这个文件夹需要自己创建。

my.cnf文件内容:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
disable_log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 10M
sort_buffer_size = 10M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1

执行以下脚本:

#!/bin/bash
echo "uninstall alisql ......"
cd /opt/alisql/

tar -zxf ncurses-5.9.tar.gz
cd /opt/alisql/ncurses-5.9/
./configure
cd /opt/alisql/ncurses-5.9/
make
make install
echo "install ncurses end "

cd /opt/alisql/

tar zxf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
make
make install
echo "install cmake end ...... "

sleep 2

cd /opt/alisql/
tar zxf bison-2.7.tar.gz
cd bison-2.7
./configure
make -j 8
make install
echo "install bison end ...... "
sleep 2

cd /opt/alisql/
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysqldb
mkdir -p /opt/install
mkdir -p /opt/install/mysql
tar zxvf AliSQL-AliSQL-5.6.32-8.tar.gz
cd /opt/alisql/AliSQL-AliSQL-5.6.32-8/
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/mysql -DMYSQL_UNIX_ADDR=/opt/install/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
cd /opt/alisql/AliSQL-AliSQL-5.6.32-8/
make
make install

echo "change group ... "

cd /opt/install/mysql
chown -R mysql:mysql .
cd /data/mysqldb
chown -R mysql:mysql .

echo "init alisql ... "

cd /opt/install/mysql/
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

echo "cpoy my.cnf mysqld ... "
cp /opt/alisql/my.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

echo "change path ... "
sed -i '54i\export PATH=/opt/install/mysql/bin:/opt/install/mysql/lib:$PATH' /etc/profile

echo "restart path ... "
sleep 1
source /etc/profile

echo "start mysqld ... "
service mysqld start

echo "Power on start mysqld ... "
chkconfig --level 35 mysqld on

echo "stop firewalld ... "
systemctl stop firewalld

echo "install alisql end ... "

sleep 1

完成后通过netstat指令查看3306端口是否开启,开启即为成功,若失败自行排查问题。

进行数据库配置和开启远程连接进行如下操作:

mysql -u root -p
use mysql;
select host,user, password from user;
update user set password=password('mypasswd'), host= '%'   where user ='root' and host='127.0.0.1';
update user set password=password('mypasswd')   where user ='root' and host='localhost';
flush privileges;

默认安装本地root登录无密码,第五行的修改语句将本地root登录修改为自己的密码。

希望以上对初入alisql的人有帮助!
 

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;