12-CentOS7安裝與管理數據庫mariadb

關於Mariadb

Mariadb和MySQL是同一個製作團隊,命令幾乎一樣。

安裝

yum -y install mariadb mariadb-server
firewall-cmd --add-service=mysql            #臨時放行mysql服務
firewall-cmd --add-service=mysql --per      #永久放行mysql服務
systemctl start mariadb     #啓動mariadb
systemctl enable mariadb    #將mariadb設置爲開機啓動

mariadb的初始化

mysql_secure_installation   #初始化
    Enter current password for root (enter for none):     #輸入數據庫root密碼(默認爲空)(數據庫的root不是主機root!!!)
    Set root password? [Y/n] Y         #是否設置root密碼         
    New password:           #輸入root密碼
    Re-enter new password:  #再次輸入root密碼
    Remove anonymous users? [Y/n] Y     #是否刪除匿名用戶
    Disallow root login remotely? [Y/n] Y   #是否禁止root遠程登錄
    Remove test database and access to it? [Y/n] Y      #是否刪除測試數據庫
    Reload privilege tables now? [Y/n]      #是否重新載入設置

進入mariadb

方法1

[root@localhost ~]# mysql -u root -p
Enter password:

方法2

[root@localhost ~]# mysql -u root -p1   #直接給出密碼(密碼爲1)

允許root遠程訪問

用語言連接數據庫時一定要敲下面的命令。
如java的JDBC和Mybatis。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '1' WITH GRANT OPTION;
flush privileges;

數據庫備份和恢復

備份

以數據庫testdb爲例

mysqldump -u root -p testdb > /root/testdb.dump     #備份數據庫testdb到/root/testdb.dump
恢復
mysql -u root -p testdb < /root/testdb.dump     #從文件/root/testdb.dump恢復數據庫
實驗詳細步驟:
mysql -u root -p       #進入數據庫
create database testdb;     #創建數據庫testdb
use testdb;            #使用數據庫testdb
create table testTable(name char(10),age int);      #創建一張表
insert into testTable value("stu1",20);     #插入數據
insert into testTable value("stu2",18);     #插入數據
select * from testTable;        #查看錶中的數據
    +------+------+
    | name | age  |
    +------+------+
    | stu1 |   20 |
    | stu2 |   18 |
    +------+------+
    2 rows in set (0.00 sec)
mysqldump -u root -p testdb > /root/testdb.dump     #備份數據庫
drop database testdb;       #刪除數據庫testdb
use testdb;
    ERROR 1049 (42000): Unknown database 'testdb'   #數據庫已經不存在了
create database testdb;     #重新創建testdb
exit        #退出mariadb
mysql -u root -p testdb < /root/testdb.dump     #恢復數據庫
mysql -u root -p
use testdb;
select * from testTable;    #恢復成功!
    +------+------+
    | name | age  |
    +------+------+
    | stu1 |   20 |
    | stu2 |   18 |
    +------+------+
    2 rows in set (0.00 sec)

忘記mariadb密碼

vim /etc/my.cnf
	[mysqld]
	skip-grant-tables	#加入這一行
systemctl restart mariadb       #重啓mariadb服務
mysql       #進入mariadb
use mysql;
UPDATE user SET Password = password ( '123456' ) WHERE User = 'root' ;      #將root密碼修改爲123456
flush privileges;
eixt
vim /etc/my.cnf
	[mysqld]
	skip-grant-tables	#刪除這一行
systemctl restart mariadb.service

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章