2021-05-12 14:32:11
Linux基礎教學學習筆記36——MariaDB資料庫設定與管理
Linux基礎教學學習筆記36——MariaDB資料庫設定與管理
MariaDB資料庫的操作使用與MySQL基本相同。
一、設定
安裝MariaDB資料庫
[root@linuxidc ~]# yum install mariadb* -y
啟動mariadb服務:
[root@linuxidc ~]# systemctl start mariadb
防火牆新增mysql服務:
[root@linuxidc ~]# firewall-cmd --add-service=mysql --permanent
修改組態檔/etc//my.cnf檔案,新增以下編解內容:
character-set-server=utf8
資料庫檔案儲存位置:
datadir=/var/lib/mysql
二、管理資料庫
檢視資料庫:
MariaDB [(none)]> show databases;
檢視當前資料庫:
MariaDB [(none)]> select database();
檢視當前使用者:
MariaDB [(none)]> select user();
檢視資料庫當前的所有屬性資訊:
MariaDB [(none)]> status
進入資料庫:
MariaDB [(none)]> use school;
顯示表:
1 MariaDB [school]> show tables;
建立表:
MariaDB [school]> create table teacher(id int,name varchar(10),gender varchar(5) )
檢視表結構:
MariaDB [school]> desc teacher;
查詢和插入表資料:
1 MariaDB [school]> select * from teacher;
MariaDB [school]> insert into teacher values('1','lisi','male');
清空表內容:
MariaDB [school]> truncate table teacher;
新增列:
MariaDB [school]> alter table teacher add department varchar(20) [first|after column];
刪除列:
MariaDB [school]> alter table teacher drop department;
外和內連線:
MariaDB [school]> select * from teacher join student using(id);
MariaDB [school]> select * from teacher inner join student where a.id=b.id;
三、設定資料庫
使用者管理:
MariaDB [(none)]> use mysql;
MariaDB [mysql]> desc users;
MariaDB [mysql]> select host,user,password from user;
給使用者root設定密碼的方法:
1、
[root@linuxidc ~]# mysqladmin -uroot -p password 'RedHat'
2、
MariaDB [(none)]> set password=password('redhat');
3、
MariaDB [(none)]> update mysql.user set password=password('redhat') where user='root' and host='localhost';
MariaDB [(none)]> flush privileges;
忘記root密碼重新設定密碼,使用以下2種方式重新修改密碼:
1、修改my.cnf檔案,加入以下語句:
skip-grant-tables
直接進入資料庫無需密碼,然後執行以下修改密碼的命令:
MariaDB [(none)]> update mysql.user set password=password('redhat') where user='root' and host='localhost';
MariaDB [(none)]> flush privileges;
2、使用mysqld-safe命令修改密碼
先停止mysqld服務,再修改密碼:
[root@linuxidc ~]# systemctl stop mariadb.service
[root@linuxidc ~]# mysqld_safe --skip-grant-tables
MariaDB [(none)]> update mysql.user set password=password('redhat') where user='root' and host='localhost';
MariaDB [(none)]> flush privileges;
建立普通使用者並設定密碼:
MariaDB [(none)]> create user redhat@'localhost';
MariaDB [(none)]> create user redhat@'%';任意主機
MariaDB [(none)]> set password for redhat@'localhost'=password('redhat');
給使用者設定許可權:
檢視使用者的許可權:
MariaDB [(none)]> show grants for redhat;
檢視系統的所有許可權:
MariaDB [(none)]> show privileges;
授權給使用者:
MariaDB [(none)]> grant create,insert,drop,update on school.* to redhat@'%' identified by 'redhat';
回收許可權:
MariaDB [(none)]> revoke drop,update on school.* from redhat;
四、資料庫的備份與恢復
冷備份:停機備份資料庫檔案;
熱備份:
使用mysqldump命令備份:
[root@linuxidc ~]# mysqldump -u root -p school teacher student> /mysql_backup/teacher.sql
備份整個資料庫表,後面則不需要指定任何表:
[root@linuxidc ~]# mysqldump -u root -p school> /mysql_backup/all_tables.sql
備份整個資料庫:
[root@linuxidc ~]# mysqldump -u root -p -B school> /mysql_backup/all.sql
進入庫恢復表或者恢復表:
MariaDB [school]> source /mysql_backup/teacher.sql;
[root@linuxidc ~]# mysql -u root -p'redhat' < /mysql_backup/all.sql
將表資料儲存到檔案,修改備份目錄的屬主屬組資訊:
[root@linuxidc ~]# setfacl -m u:mysql:rwx /mysql_backup/
MariaDB [school]> select * from teacher into outfile '/mysql_backup/teacher_data'fields terminated by ',';
根據外部檔案恢復表資料:
MariaDB [school]> load data infile '/mysql_backup/teacher_data' into table teacher fields terminated by ',';
mysqldump不能做增量備份:
--------------------------------------分割線 --------------------------------------
在 CentOS/RHEL/Scientific Linux 6 下安裝 LAMP (Apache with MariaDB and PHP) http://www.linuxidc.com/Linux/2013-07/86755.htm
MariaDB Proxy讀寫分離的實現 http://www.linuxidc.com/Linux/2014-05/101306.htm
Linux下編譯安裝設定MariaDB資料庫的方法 http://www.linuxidc.com/Linux/2014-11/109049.htm
CentOS系統使用yum安裝MariaDB資料庫 http://www.linuxidc.com/Linux/2014-11/109048.htm
安裝MariaDB與MySQL並存 http://www.linuxidc.com/Linux/2014-11/109047.htm
Ubuntu 上如何將 MySQL 5.5 資料庫遷移到 MariaDB 10 http://www.linuxidc.com/Linux/2014-11/109471.htm
[翻譯]Ubuntu 14.04 (Trusty) Server 安裝 MariaDB http://www.linuxidc.com/Linux/2014-12/110048htm
相關文章