一、刪除之前的MySQL/MariaDB
rpm -qa | grep MariaDB
rpm -e --nodeps MariaDB-*
rpm -qa | grep mysql
yum remove mysql mysql-server mysql-libs compat-mysql51
#如果刪不掉,就一個一個刪
二、兩臺機器分別安裝MariaDB
機器:192.168.174.129 192.168.174.135
vim /etc/yum.repos.d/MariaDB.repo
內容爲(修改MariaDB源,及版本):
版本可選,參考網址:網址
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.1/centos7-amd64/
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
安裝Mariadb之前,你可以先導入GPG key
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
三、運行命令安裝
yum -y install MariaDB-server MariaDB-client
四、啓動
systemctl start mariadb #啓動服務
systemctl enable mariadb #設置開機啓動
systemctl restart mariadb #重新啓動
systemctl stop mariadb.service #停止MariaDB
五、登錄數據庫
mysql -uroot -p
#無密碼,直接回車
六、進行MariaDB的相關簡單配置
mysql_secure_installation
Enter current password for root (enter for none):【回車】
Set root password? [Y/n]【y】
New password:【填寫密碼】
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 -p密碼
八、配置MariaDB的字符集
vim /etc/my.cnf.d/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
九、重啓Mariadb,查看MariaDB字符集
systemctl restart mariadb
mysql -uroot -p密碼
show variables like "%character%";show variables like "%collation%";
十、設置權限
rant all privileges on *.* to root@'%' identified by 'password';
授予部分權限只需把all privileges改爲select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分即可。
主從搭建
注意:提前關閉兩臺機器的防火牆,或者開啓特定的端口。
一、配置主服務器配置文件
vim /etc/my.cnf.d/server.cnf
#內容如下:
log-bin=mysql-bin
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
server-id=1
二、配置從服務器配置文件
vim /etc/my.cnf.d/server.cnf
#內容如下
relay-log=/usr/local/mysql/relay-bin
read_only=1
server-id=2
三、在主服務器上創建複製用戶
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'nifujia'@'192.168.174.135' IDENTIFIED BY 'mysql';
flush privileges;
四、 查看主服務二進制日誌狀態,以便在從服務器選擇複製開始位置
show master status;
#File mysql-bin.000002
#Position 327
五、從服務器登錄,從服務器上訪問主服務器
CHANGE MASTER TO MASTER_HOST='192.168.174.129',MASTER_PORT=3306,MASTER_USER='nifujia',MASTER_PASSWORD='mysql',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=327;
六、從服務器啓動複製,查看從服務器狀態
start slave;
show slave status\G;
#看到Slave_IO_Running: Yes Slave_SQL_Running: Yes 表示成功
七、驗證
主服務上創建表,添加數據,從服務器同步,那麼表示成功
八、備註
如果在從服務器上訪問主服務器出現問題,可以用stop slave、reset slave命令重新配置。