一、编译源码包
准备工作:准备两个程序包;
(a) mariadb-5.5.43-linux-x86_64.tar.gz
(b) mariadb-5.5.43.tar.gz
下载地址:
http://archive.mariadb.org/mariadb-5.5.43/bintar-linux-x86_64/
http://archive.mariadb.org/mariadb-5.5.43/bintar-linux-x86_64/
正题开始:
- 编译环境搭建
yum -y install cmake gcc gcc-c++ openssl-devel ncurses-devel
2. 编译安装
- 创建数据存放目录和配置文件目录
mkdir /mydata
mkdir -pv /etc/mysql
- 解压mairadb-5.5.43.tar.gz
tar -zxvf mariadb-5.5.43.tar.gz
- 进入解压后的目录
cd mariadb-5.5.43
- 执行cmake命令预编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.43 -DMYSQL_DATADIR=/mydata -DSYSCONFDIR=/etc/mysql/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
a.编译后存放路径:
DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.43
b.数据存放目录:
DMYSQL_DATADIR=/mydata
c.配置文件存放目录:
DSYSCONFDIR=/etc/mysql
二、安装二进制文件
首先搭建环境:
1.添加mysql系统用户和用户组
useradd -r mysql
id mysql
2.创建数据存放目录
mkdir /mydata
3.创建配置文件目录
mkdir /etc/mysql
安装软件包:
1.解压mariadb-5.5.43-linux-x86_64.tar.gz到/usr/local目录中
tar -zxvf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local
2.将解压后的目录链接为mysql
ln -sv /usr/local/mariadb-5.5.43 /usr/local/mysql
3.进入mysql目录,将所有文件属主改为root,数组改为mysql
cd /usr/local/mysql
chown -Rv root:mysql ./*
4.执行scripts目录下mysql_install_db文件,并指明数据存放目录和用户
scripts/mysql_install_db --datadir=/mydata --user=mysql
安装后设置
1.将support-files目录下mysql.server文件复制为/etc/rc.d/init.d/mysqld文件
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
2.将其添加到chkconfig启动项
chkconfig --add mysqld
3.将support-files目录下my-large.conf复为/etc/mysql/my.cnf文件
cp my-large.cnf /etc/mysql/my.cnf
4.编辑/etc/mysql/my.cnf文件,在[mysqld]添加一下三项
datadir=/mydata
innodb_file_per_table=on
skip_name_resolve=on
5、配置环境变量,并执行查看
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh
echo $PATH
安装完成验证
1、启动mysqld服务并查看状态
service mysqld start
service mysqld status
- 查看3306端口是否处于监听状态
ss -tnl
3. 启动mysql客户端登录
mysql
此时会报错如下:
~]# mysql
-bash: mysql: command not found
为什么端口开启但是客户端命令找不到呢?这是因为 mysql命令在/usr/local/mysql/bin/目录下,而系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令。因此,我们在这里做一个链接文件即可:
ln -s /usr/local/mysql/bin/mysql /usr/bin
现在键入mysql命令重新打开客户端:
mysql
请多指教啊 ~ !!!~