在官方网站下在二进制安装包

http://mariadb.org #"包名:带有linux字样的就是编译完安装包"
mariadb-10.2.12-linux-x86_64.tar.gz

确认系统中没有mariadb相关的软件包

rpm -qa "mariadb*"

将源码包解压至/usr/local这个文件夹中 "注意:必须是这个文件夹"

tar vxf mariadb-10.2.12-linux-x86_64.tar.gz -C /usr/local/

而后在这个目录下对这个;mariadb-10.2.12-linux-x86_64创建一个软连接名字叫myspl 注意:必须要叫这个名字,而且必须要在这个目录下/usr/local/

cd  /usr/local/
ln -s 	ln -s mariadb-10.2.12-linux-x86_64 mysq

修改 mysql 文件所属者以及所属组为mysql用户

chown -R mysql:mysql mysql/

添加PATH变量

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

加载PATH变量并,检查

source /etc/profile.d/mysql.sh

echo $PATH

创建 mysql 系统用户

	useradd -r  -s /sbin/nologin  mysql

创建数据库存放文件夹并且修改权限

mkdir -pv /data/sqldb/3306/{log,data,pid,socket,tmp}
chown -R mysql.mysql /data/sqldb/
chmod -R 770 /data/sqldb/

复制主配置文件my.cnf

"这里先要确认下本机的内存多少,以便使用一个参考模板."
grep memory support-files/*
找到适合本机内存的模板

本机内存为1G,所以选择了my-huge.cnf这个配置文件

#\cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf   

修改配置文件

vim /etc/my.cnf

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
pid-file        = /data/sqldb/3306/pid/mysql.pid
datadir         = /data/sqldb/3306/data
tmpdir          = /data/sqldb/3306/tmp
innodb_file_per_table = 1
skip_name_resolve = 1
log-error = /data/sqldb/3306/log/error.log

生成数据库

进到/usr/local/mysql/目录下:注意:必须要在myql这个目录下执行这个命令否则会报错

运行scripts/mysql_install_db --datadir=/data/sqldb/3306/ --user=mysql

命令选项:  --datadir 指定存放数据库的目录路径 
            --user     指定用户是谁
            
"这时候会在/data/sqldb/3306/data目录下生成一些文件"

[root@centos6 support-files]# ls /data/sqldb/3306/data/
mysql  mysql-bin.000001  mysql-bin.000002  mysql-bin.index  test

将/usr/local/mysql/support-files服务脚本复制到/etc/init.d/目录下并改名叫mysqld,并加入chkconfig管理,设置为开机自动启动

1,复制
cp  /usr/local/mysql/support-filesmysql.server   /etc/init.d/mysqld
2,加入chkconfig管理
chkconfig --add mysqld
3,设置为开机自动启动
chkconfig mysqld on

启动服务

systemctl start mysqld

运行安全脚本

"mysql_secure_installation"

第一项问你:输入root密码  回车即可,因为没有
第二项问你:需要设置root密码么,当然要  敲Y
第三项问你:需要删除空账号用户么,当然要  敲Y
第四项问你:禁止root用户远程登入么,根据你们公司的需要
第五项问你:需要删除test测试数据哭么,我不需要
第六项问你:现在重新加载权限表吗 ,当然

登入命令

mysql -u root -p  #-u 指定用户 -p指定密码可以不输,敲回车会在让你输入密码