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

发布了129 篇原创文章 · 获赞 57 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/NetRookieX/article/details/104734181