关于Mariadb
Mariadb和MySQL是同一个制作团队,命令几乎一样。
安装
yum -y install mariadb mariadb-server
firewall-cmd --add-service=mysql #临时放行mysql服务
firewall-cmd --add-service=mysql --per #永久放行mysql服务
firewall-cmd --reload #重载防火墙
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密码为1
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
这里推荐一个mariadb好用的客户端mycli,而不是它自带的mysql
仅需在登录mariadb时将mysql命令替换为mycli
仅需在登录mariadb时将mysql命令替换为mycli
yum -y install python3
pip3 install mycli -i https://mirrors.aliyun.com/pypi/simple/
登录mariadb,使用客户端工具连接
mycli -uroot -p
方法1
[root@localhost ~]# mysql -u root -p
Enter password:
-u:user 指定登录用户
-p:password 指定登录用户密码
-h:host 指定登录主机,默认127.0.0.1
-p:port 指定数据库连接端口3306
-D:Database 指定数据库
方法2
[root@localhost ~]# mysql -u root -p1 #直接给出密码(密码为1)
允许root远程访问
用语言连接数据库时一定要敲下面的命令。
如java的JDBC和Mybatis。
如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
移除mariaddb
移除mariadb
yum remove mariadb*
rm /var/lib/mysql -rf