CentOS 7 YUM安装MariaDB 10.1

安装什么的第一要素就是看文档,链接如下

https://mariadb.com/kb/en/mariadb/yum/


文中步骤大致描述如下:

1、根据你需要的版本去MariaDB的仓库去找对应的repo(链接:https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft)

创建本机的repo(在/etc/yum.repos.d/下)

vim /etc/yum.repos.d/MariaDB.repo
贴代码!(下面给的是例子,具体的参数根据你所需要的repo)

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

2、据说!据说要把之前的MySQL或者是MariaDB给卸载了,因为我的系统是CentOS mini的,之前就没这些东西,So~我只告诉你

rpm -qa | grep MariaDB   -- 查看对应的安装包 可以用yum remove XX 卸载
3、可以使用yum search MariaDB 查看安装包,官方给出的只要安装server和client即可,其他的根据自己的需要来

yum install MariaDB-server MariaDB-client
4、启动MariaDB(下面二选一,唔,yum安装之后实际上是会建立两个服务名mysql&mariadb,实际上都指向MariaDB,可以根据第一个命令看路径)

systemctl start mariadb  -- 貌似是CenOS7下的新命令?以前没见过
service mysql start      -- 这个命令也可以

以上为官方

好像网上挺多人这几步也有出错的,唔,反正我没遇到错误,在官方的操作下的时候还是比较顺利的,遇到错误是之后配置my.cnf的时候


通过yum装很多东西都是默认的比较肉疼,不像源码编译或者自己DOWN安装包可以各种指定,列一些比较重要的路径出来


yum 安装会自动创建mysql 用户和用户组

Yum安装会自动创建 /etc/my.cnf 以及/etc/my.cnf.d 文件架(并存放 server.conf client.conf tokudb.conf 等文件)

默认rpm路径

  • basedir =/usr/bin
  • datadir=/var/lib/mysql
  • .h=/usr/include/mysql
  • plung=/usr/lib64/mysql
  • share=/usr/share/mysql(conf charset etc)
下面是之后配置的步骤了

下面是自己的步骤了

1、先停了MariaDB(依旧二选一)

systemctl stop mariadb  
service mysql stop      
2、备份原有的/etc/my.cnf(之前出错无数次启动不起来都是用备份重新起来的,呵呵哒)

3、根据你的需求编辑/etc/my.cnf(这里我的出错点就是socket,晚点再聊这个,先假设socket我没有设置参数)

这里的槽点就是socket,因为是以前就配置好的my.cnf,原本想直接导入,结果各种报错起不来,报错可以贴一下出来,下一段~

唔,systemctl启动的话会有报错的提示,然而并没有什么用,还是看error.log

2016-03-30 14:48:04 140048117139584 [ERROR] Can't start server : Bind on unix socket: Permission denied
2016-03-30 14:48:04 140048117139584 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
2016-03-30 14:48:04 140048117139584 [ERROR] Aborting

报错信息看不懂……之前也百度过,非常可爱的是每个人都是写权限不够(呵呵哒,tmp路径权限不够个鬼!)

如果my.cnf里面是不改写socket的位置的话是OK的,解决方案待会儿出,先把步骤写完

4、如果有改datadir,tmpdir,,logdir之类的,把对应的目录建好,记得修改组和用户(下面只有一个的例子)

mkdir /data
cp -r /var/lib/mysql /data  -- 这里我直接把数据拷贝过来了
chown -R mysql:mysql /data/mysql
5、启动MariaDB


6、附加步骤!(关于TokuDB引擎

当你看到这样的一个报错,恭喜你这步对你有用!

(报错代码借用了另一个博主的,因为我的error.log清了……,既然借用了就也把他的那部分贴出来,因为也会有引用到)

http://blog.csdn.net/gua___gua/article/details/49615081


151103 19:40:58 [ERROR] TokuDB: Huge pages are enabled, disable them before continuing  
151103 19:40:58 [ERROR] ************************************************************  
151103 19:40:58 [ERROR]                                                               
151103 19:40:58 [ERROR]                         @@@@@@@@@@@                           
151103 19:40:58 [ERROR]                       @@'         '@@                         
151103 19:40:58 [ERROR]                      @@    _     _  @@                        
151103 19:40:58 [ERROR]                      |    (.)   (.)  |                        
151103 19:40:58 [ERROR]                      |             ` |                        
151103 19:40:58 [ERROR]                      |        >    ' |                        
151103 19:40:58 [ERROR]                      |     .----.    |                        
151103 19:40:58 [ERROR]                      ..   |.----.|  ..                        
151103 19:40:58 [ERROR]                       ..  '      ' ..                         
151103 19:40:58 [ERROR]                         .._______,.                           
151103 19:40:58 [ERROR]                                                               
151103 19:40:58 [ERROR] TokuDB will not run with transparent huge pages enabled.          
151103 19:40:58 [ERROR] Please disable them to continue.                              
151103 19:40:58 [ERROR] (echo never > /sys/kernel/mm/transparent_hugepage/enabled)    
151103 19:40:58 [ERROR]                                                               
151103 19:40:58 [ERROR] ************************************************************  
151103 19:40:58 [ERROR] Plugin 'TokuDB' init function returned error.  
151103 19:40:58 [ERROR] Plugin 'TokuDB' registration as a STORAGE ENGINE failed.  
151103 19:40:58 [ERROR] Unknown/unsupported storage engine: TokuDB  
151103 19:40:58 [ERROR] Aborting  
151103 19:40:58  InnoDB: Starting shutdown...  
151103 19:40:59  InnoDB: Shutdown completed; log sequence number 2238262  
151103 19:40:59 [Note] /opt/mysql/bin/mysqld: Shutdown complete  
151103 19:40:59 mysqld_safe mysqld from pid file /opt/mysql/data/kfpanda.pid ended  

mariadb 10.1.13已经封装tokuDB,需要关闭内存大页功能

我的解决方法:

编辑/etc/rc.d/rc.local

touch /var/lock/subsys/local
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi

#因为有tokuDB,开机自启mysql失败,加入到rc.local中
/etc/init.d/mysql start

链接博主的解决方法:

echo never > /sys/kernel/mm/transparent_hugepage/enabled  
cat /sys/kernel/mm/transparent_hugepage/enabled   -- 确定为never就行了mysql.server


OK!最后的重点,socket!


记得之前的路径吗?share=/usr/share/mysql这个,mysql.server这个启动文件在这里!

跟着我做!

cp /usr/share/mysql/mysql.server /etc/init.d/mysql_test
service mysql_test start 

启动成功,下班!不要问我为什么!因为我也没有搞懂!不知道是BUG还是我是不是哪一步做错了,如果是用yum安装之后配置好的启动程序,怎么都报错,但是自己重新拷贝一份,不用改!完全不用改,启动成功……有谁知道原因的也可以交流一下,表示也用diff对比过两者,没发现有区别 哈哈哈


下班下班~




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值