官網地址:https://mariadb.com/downloads
1、安裝MariaDB
tar xvf mariadb-10.4.12-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -s mariadb-10.4.12-linux-x86_64 mysql
groupadd mysql
useradd -g mysql mysql
創建數據目錄
mkdir /data/mysql/data
chown -R mysql.mysql /data/
chown -R mysql.mysql /usr/local/mysql
2、安裝配置
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data #執行配置腳本
[mysqld] slow_query_log = 1 #開啓慢日誌 slow_query_log_file = "/data/log/mariadb/mariadb-slow.log" #慢日誌存放目錄 long_query_time = 2 #查詢時間超過 2 秒則定義爲慢查詢 skip-networking = 0 #必須關閉,否則不會聯網 bind-address=0.0.0.0 #一般建議全部綁定,因爲 mysql 和 mariadb 不允許手動綁定指定 IP 地址 skip-name-resolve = 1 #防止 mysql 默認對 IP 地址反向查詢影響行能 port = 3306 datadir = "/data/mysql" #後期同步的二進制修改信息會放在這裏 socket = "/var/lib/mysql/mysql.sock" #用於支持本地訪問的 socket 文件 symbolic-links=0 #關閉後會阻止 mysql 訪問符號鏈接文件(快捷方式)爲了安全推薦關閉(無關) server-id=1 #配置本機 mysql 的唯一 ID,多臺 mysql 不能存在相同的 ID log-bin=mysql-bin #設置”主服務器需要同步的二進制日誌”文件名前綴 relay-log=mysql-relay-bin #設置”從服務器需要執行的中繼日誌”文件名前綴 #replicate-wild-ignore-table=other.% #binlog_format=row #修改了複製格式爲 mixed,mysql 一共有三種格式 mixed 和 statement 和 row ,默認是 row expire_logs_days = 3 #設置”二進制修改信息”的保存時間,過期(三天後)清理 #read_only=on #設置數據庫爲只讀狀態
[mysqld] slow_query_log = 1 slow_query_log_file = "/data/log/mariadb/mariadb-slow.log" long_query_time = 2 skip-networking = 0 bind-address=0.0.0.0 skip-name-resolve = 1 port = 3306 datadir = "/data/mysql" socket = "/var/lib/mysql/mysql.sock" symbolic-links=0 server-id=2 relay-log=mysql-relay-bin #replicate-wild-ignore-table=other.% binlog_format=row expire_logs_days = 3 read_only=on
3、啓動數據庫
./bin/mysqld_safe --user=mysql --datadir=/data/mysql/data &
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
設置數據庫root用戶密碼
./bin/mysqladmin -u root password '123456' #設置root用戶密碼
關閉數據庫
./bin/mysqladmin -uroot -p shutdown
4、數據庫連接、查詢
./bin/mysql -uroot -p
select host,user,password from user;
create user 'admin'@'%' identified by 'admin123';
grant replication slave on *.* to 'admin'@'%';
show master status;
CHANGE MASTER TO
MASTER_HOST='172.18.103.211',
MASTER_USER='admin',
MASTER_PASSWORD='admin123',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=1552;
最後輸入命令 show slave status\G 查看狀態。(寫 \G 是換行)
如果狀態沒有同步
stop slave;
start slave;
show slave status\G