在linux上创建mysql用户。
useradd -d /usr/local/mysql/ mysql
创建数据库的data文件夹。
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql/data/
chmod 777 /usr/local/mysql/data/
解压安装包。
tar -zxvf mariadb-10.1.18.tar.gz
配置安装参数
cd mariadb-10.1.18
./configure --prefix=/usr/local/mysql/ --sysconfdir=/etc --localstatedir=/usr/local/mysql/data --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf-8 --with-extra-charsets=utf-8 --with-extra-charsets=all
用cmake编译。
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all
其实我这里出错了,没有安装cmake,然后我又安装了一次cmake。
yum -list
yum install cmake -y
是的,我用的yum安装的。
安装玩cmake就可以开开心心的编译了。
继续编译。。。
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all
WTF?还不行?为什么?
cmake版本太低了。。。
于是我又去下了个新版本的cmake。
cmake --version
find -name cmake2.6.4
tar -zxvf cmake-3.7.0-rc1.tar.gz
好吧,那就先编译cmake。
cd cmake-3.7.0-rc1
make
./config
./configure
make
make install
下来真的要编译mariaDB了,不骗你,真的。
cd mariadb-10.1.18
对了,cmake编译出错的话,直接把CMakeCache.txt 文件删了就行。
rm CMakeCache.txt
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all
make
make install
cd /usr/local/mysql/
配置用户和目录
./scripts/mysql_install_db --user=mysql --datadir=./data/
cp support-files/my-large.cnf /etc/my.cnf
cat /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
不能用这个启动了。/etc/init.d/mysqld start
设置密码
/usr/local/mysql/bin/mysqladmin -u root password 123456
启动
/usr/local/mysql/bin/mysql -uroot -p123456
962 cd /etc/
963 cp my.cnf my.cnf.bak.mariadb
终于可以用了。