admin
不忘初心,方得始终
级别: 管理员
只看楼主 | | | 0楼 发表于:2016-01-13 17:06

CentOS7编译安装mariadb5.5.40

1.安装依赖库、编译工具
yum install -y apr* autoconf automake bison bison-devel bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-devel gcc-c++ gcc-c++-devel gtk+-devel gd  gd-devel gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgcrypt libgomp  libxml libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm*  zlib zlib-devel  cmake
2.安装cmake:
cd cmake-2.8.11.2
./configure
make && make install
3.useradd mysql
mkdir -p /usr/local/mysql/etc
mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
4.编译安装:
cd /usr/local/mariadb-5.5.40
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_EXTRA_CHARSETS=all  \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_ZLIB=system \
-DWITH_DEBUG=0
make && make install
mv /etc/my.cnf /etc/my.cnf.bak
cd /usr/local/mariadb-5.5.40
cp support-files/my-huge.cnf /etc/my.cnf
cd /usr/local/mysql/scripts/
5.安装MariaDB数据库:
./mysql_install_db  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
6.设置开机自启动:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig mysqld on
vi /etc/rc.d/init.d/mysqld,输入以下内容:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
7.编辑环境变量:
vi /etc/profile:
export PATH=$PATH:/usr/local/mysql/bin
vi /root/.bash_profile:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
source /root/.bash_profile
8.启动MariaDB服务:
cd /usr/local/mysql
./bin/mysqld_safe --user=root &
9.设置MariaDB的密码:
mysql_secure_installation
输入密码:openstack
10.也可以停止MariaDB服务:/usr/local/mysql/bin/mysqladmin -uroot -p shutdown
11.启动和停止MariaDB服务:
service mysqld start
service mysqld stop
12.MariaDB优化:
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
13.常用问题解决:
日志文件中有错误“The error means mysqld does not have the access rights to the directory.”
问题原因:MySQL Server访问的datadir权限不对
解决办法:如果datadir是/usr/local/mysql/data,则执行如下命令:
cd /usr/local/mysql/
chown -R mysql:mysql /usr/local/mysql/data
14.CentOS7添加防火墙规则:
firewall-cmd --permanent --add-port=3306/tcp 添加TCP 3306端口到firewalld服务。
firewall-cmd --reload 重启防火墙firewalld服务。
setsebool -P nis_enabled 1 关闭selinux。