MariaDB配置、集群

MariaDB在centos 7.3的安装,配置和集群搭配

阿里云最新选配系统中,只有centos7.3可选,因此,基于centos 7的MariaDB的安装,配置。。。

全部删除MySQL/MariaDB

MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

[root@localhost ~]# rpm -qa | grep mariadb
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64

 如果存在,使用rpm -e --nodeps mariadb-*全部删除:

[root@localhost ~]# rpm -e mysql-*
错误:未安装软件包 mysql-* 

2.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

 如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除,这时候可能要下载一些依赖包;

再次使用rpm -qa|grep mariadb命令查看是否存在MariaDB,如有,重复执行上述删除即可。

3.开始新的安装, 创建MariaDB.repo文件

	vi /etc/yum.repos.d/MariaDB.repo

添加

[mariadb]
name = MariaDB
baseurl =  http://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64 
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB 
gpgcheck=1

系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

4.运行安装命令安装MariaDB

yum -y install MariaDB-server MariaDB-client

等待出现complete 则安装完成

一些配置:

systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB

5.登录到数据库

  用mysql -uroot命令登录到MariaDB,此时root账户的密码为空。

6.进行MariaDB的相关简单配置,使用mysql_secure_installation命令进行配置。

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -uroot -p123456

7.配置MariaDB的字符集

  查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d 说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。

  1)使用vi server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加

		init_connect='SET collation_connection = utf8_unicode_ci' 
		init_connect='SET NAMES utf8' 
		character-set-server=utf8 
		collation-server=utf8_unicode_ci 
		skip-character-set-client-handshake

如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/etc/my.cnf文件的[mysqld]标签下添加以上内容。

  2)文件/etc/my.cnf.d/client.cnf

		vi /etc/my.cnf.d/client.cnf

在[client]中添加

		default-character-set=utf8

  3)文件/etc/my.cnf.d/mysql-clients.cnf

		vi /etc/my.cnf.d/mysql-clients.cnf

在[mysql]中添加

		default-character-set=utf8

全部配置完成,重启mariadb

		systemctl restart mariadb

之后进入MariaDB查看字符集

		mysql> show variables like "%character%";show variables like "%collation%";

显示为

		+--------------------------+----------------------------+  
		| Variable_name            | Value                      |  
		+--------------------------+----------------------------+  
		| character_set_client     | utf8                      |  
		| character_set_connection | utf8                      |  
		| character_set_database  | utf8                      |  
		| character_set_filesystem | binary                    |  
		| character_set_results    | utf8                      |  
		| character_set_server    | utf8                      |  
		| character_set_system    | utf8                      |  
		| character_sets_dir      | /usr/share/mysql/charsets/ |  
		+--------------------------+----------------------------+  
		8 rows in set (0.00 sec)  
		
		+----------------------+-----------------+  
		| Variable_name        | Value          |  
		+----------------------+-----------------+  
		| collation_connection | utf8_unicode_ci |  
		| collation_database  | utf8_unicode_ci |  
		| collation_server    | utf8_unicode_ci |  
		+----------------------+-----------------+  
		3 rows in set (0.00 sec)  

字符集配置完成。

8.MariaDB集群的配置

http://blog.csdn.net/ns2250225/article/details/52003630

9.常见问题

1)启动mysql时出错:SST in progress, setting sleep higher. ERROR!

  • 确保本机已安装rsync:[root@localhost ~]# yum list|grep rsync

  • 确保已允许galera sst使用的端口4444、4567、4568通过防火墙并重启防火墙功能

  • 确保selinux已对端口4444开放权限:

      	[root@localhost ~]# semanage port -a -t mysqld_port_t -p tcp 4444
    

2)查看galera集群状态时wsrep_connected和wsrep_ready的值均为OFF!

 打开/etc/my.cnf.d/wsrep.cnf文件,找到wsrep_cluster_address="gcomm://"这一行,检查前面是否有"#",如果有则删掉并重启mysql。

一些其他的附录

  • MariaDB同步复制

    第一节点:
    service mysql start --wsrep-new-cluster

    其它节点:
    service mysql start

    查看tomcat进程

    ps -ef|grep tomcat

  • 查看tomcat进程

    ps -ef|grep tomcat

  • 解压

    tar -zxvf apache-tomcat-7.0.57.tar.gz

  • 授权

    GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

    flush privileges;

  • 查看是否加入集群

    show status like 'wsrep%';

  • 查看selinux是否关闭

    cat /etc/sysconfig/selinux

  • CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

    1、直接关闭防火墙

    systemctl stop firewalld.service #停止firewall

    systemctl disable firewalld.service #禁止firewall开机启动

    2、设置 iptables service

    yum -y install iptables-services

    如果要修改防火墙配置,如增加防火墙端口3306

    vi /etc/sysconfig/iptables

    增加规则

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    保存退出后

    systemctl restart iptables.service #重启防火墙使配置生效

    systemctl enable iptables.service #设置防火墙开机启动

    最后重启系统使设置生效即可。

  • yum安装MariaDB发现缺少了一个包

      yum clean all  
    
      重新换源、安装。。
    

参考一些思路:

//这个是centos6下MariaDB5.5配置,已经过期。。。
http://www.cnblogs.com/river2005/p/6813618.html

http://www.cnblogs.com/liujiduo/p/5066803.html

posted @ 2017-09-27 23:17  esileme  阅读(536)  评论(0编辑  收藏  举报