關於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