一、编译安装AliSQL前的准备工作
卸载原有自带的Mysql:yum remove mysql-libs -y
安装mysql依赖库:yum -y install gcc gcc-c++ ncurses-devel perl bison cmake autoconf
如果cmack和bison安装不成功:
1、安装cmake,或从https://cmake.org/download/下载所需版本
1)、wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
2)、tar -zxvf cmake-2.8.10.2.tar.gz
3)、cd cmake-2.8.10.2
4)、./bootstrap ; make ; make install
5)、cd ~
2、安装bison,从http://ftp.gnu.org/gnu/bison/下载所需版本
1)、tar -zxvf bison-2.7.tar.gz
2)、sudo yum install bison-2.7
3)、cd ~
二、新建用户和组(必须要有mysql用户,否组安装完成后启动不成功)
groupadd mysql
useradd -r -g mysql mysql
三、新建所需目录
新建安装目录:mkdir –p /usr/local/mysql
新建数据库数据文件目录:mkdir -p /data/mysqldb
四、下载AliSQL源码解压并进入目录
从https://github.com/alibaba/AliSQL下载源码
1)、解压
unzip AliSQL-master.zip
2)、cd AliSQL-master
五、编译安装mysql
1、设置编译参数
cmake\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/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
或者:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/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
注: 如果编译不成功需要删除CMakeCache.txt文件:rm CMakeCache.txt 重新运行上面的配置
2、编译源码
make
3、安装
make install
六、修改AliSQL目录所有者和组
1、修改AliSQL安装目录
cd /usr/local/mysql
chown -R mysql:mysql .
2、修改AliSQL数据库文件目录
cd /data/mysqldb
chown -R mysql:mysql .
七、初始化AliSQL数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
注:初始化数据库出现错误:FATAL ERROR:please install the following Perl modules before executingscripts/mysql_install_db:Data::Dumper
需要安装:autoconf库:yum install –y autoconf 再次执行初始化命令
八、复制AliSQL服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注:如果/etc/my.cnf文件存在,则覆盖
九、复制AliSQL服务启动脚本及加入path路径,是在源码目录中
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile
最下面加入mysql环境变量:export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
刷新配置:source /etc/profile
十、启动mysql服务并加入开机自启动(可选)
service mysqld start
chkconfig --level 35 mysqld on
十一、mysql最后配置使用(默认就是utf-8编码,无需修改)
1、登录进入mysql界面: mysql -u root mysql 或者mysql -u mysql (用mysql用户登录没法修改和设置密码)
2、修改密码 UPDATE user SET Password=PASSWORD('123456') where USER='root';
退出重新登录: mysql -uroot -p123456
登录后执行任何语句报错:You must SET PASSWORD before executing this statement
重新设置密码 SET PASSWORD = PASSWORD('123456');set password = password('123456');
3.开放远程连接
grant all PRIVILEGES on *.* to root@'%' identified by '123456';
4、刷新配置flush privileges ;
5、退出quit
6、重启mysql:service mysqld restart
十二、开放3306端口
查看已经开放的端口:
firewall-cmd --list-ports
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
firewall-cmd --state 防火墙运行状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动