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