MariaDB
mariadb简介:
Mariadb数据库管理系统是MYSQL的一个分支,只要由开源社区在维护/采用GPL授权许可MariaDB的目的是完全兼容Mysql,包括API的命令行,是Mysql的替代品,MariaDB由MYSQL的创始人Michael Widenius主导开发。
数据库的类型
db2 oracle mysql (mariadb)
sqlserver数据库相当于高级的excel表格,其中的字端相当于列。数据库安全初始化
yum install mariadb-server -y 安装
systemctl start mariadb
mysql #可以免密登陆,所有的客户端都可以登陆
netstat -antlpe | grep mysql #查看mysql网络接口状态
systemctl stop firewalld
vim /etc/my.cnf #配置文件
1.skip-networking=1 #开启跳过网络接口功能即关闭mysql的网络接口
systemctl restart mariadb #重启该服务
netstat -antlpe | grep mysql #查看是否还有对外开放的网络接口,此时只有本地用户可以登陆
mysql #登陆免密,只有本地用户可以登陆
mysql_secure_installation #安装设置,只允许本机超级用户加密登陆
New password:
Re-enter new password:
Reloading privilege tables..
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
mysql -uroot -predhat #用root登陆,密码为redhat,不安全,其他用户可以看到超级用户密码
mysql -uroot -p #超级用户加密后登录
2.数据库管理
1>mysql -uroot -p #登陆
MariaDB [(none)]> SHOW DATABASES; #显示有哪些数据库
MariaDB [(none)]> USE mysql; #使用要使用的数据库
MariaDB [mysql]> SHOW tables; #显示该数据库中有哪些表
MariaDB [mysql]> DESCRIBE time_zone_name; #查看该数据库某表的属性,内容
MariaDB [mysql]> SELECT User,Host,Password,Select_priv FROM user Where User='root'; #在mysql数据库中筛选有User,Host,Password字段的,并且属性为root用户的数据
SHOW DATABASES
USE MYSQL ;SHOW TABLES
DESC TIME_ZONE
SELECT User,Host,Password,Select_priv FROM user Where User='root';
3.建立SQL
1>mysql -uroot -p #登陆
2>MariaDB [(none)]> CREATE DATABASE linux;#建立数据库名称为westos
3>MariaDB [(none)]> SHOW databases; #显示所有数据库
4>MariaDB [linux]> USE linux; #使用westos数据库
5>MariaDB [linux]> CREATE TABLE westos ( #在westos数据库中建立westos表格
-> username varchar(8) not null, #第一列为username,有效字符为8个,并且不能为空
-> password varchar(10) not null);#第二列为password,有效字符为10个,不能为空
6>MariaDB [linux]> SHOW tables;
7>MariaDB [linux]> DESC westos;
8>MariaDB [linux]> INSERT INTO westos values ('linux','redhat');
9>MariaDB [linux]> INSERT INTO westos values ('westos','redhat');
10>MariaDB [linux]> SELECT * FROM westos;
4.修改SQL
MariaDB [linux]> ALTER TABLE westos RENAME lalala;
MariaDB [linux]> ALTER TABLE westos ADD age varchar(3);
MariaDB [linux]> SELECT * FROM westos;
MariaDB [linux]> ALTER TABLE westos DROP AGE ;
MariaDB [linux]> ALTER TABLE westos ADD age varchar(3) AFTER username;
MariaDB [linux]> ALTER TABLE westos RENAME lalala;
MariaDB [linux]> ALTER TABLE lalala RENAME westos;
MariaDB [linux]> DELETE from westos WHERE username='lee';
MariaDB [linux]> UPDATE westos SET username='hello' WHERE username='li';
MariaDB [linux]> UPDATE westos SET username='hello' WHERE password='redhat';
二.网页管理数据库
yum install php httpd -y
systemctl start httpd
systemctl stop firewalld
cd /var/www/html/
ls
get phpMyAdmin-3.4.0-all-languages.tar.bz2
ls
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
ls
rm -f phpMyAdmin-3.4.0-all-languages.tar.bz2
ls
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
ls
cd mysqladmin/
ls
cp config.sample.inc.php config.inc.php
cd ..
yum install php-mysql.x86_64 -y #该安装包是为了在php中添加mysql功能
systemctl restart httpd
1.用户授权
在数据库新建本地用户
CREATE USER lee@'localhost' identified by 'lee';#建立本地用户为lee,密码为lee
查看数据库中用户
SELECT User FROM mysql.user;
在数据库新建远程用户
CREATE USER westos@'%' identified by 'westos';
GRANT INSERT,UPDATE,DELETE,SELECT on westos.* to lee@localhost;#给本机用户授权,该用户可以对westos数据库进行编辑,插入,更新,删除
GRANT SELECT on westos.* westos@'%'; #给远程用户授权
重新加载授权表
FLUSH PRIVILEGES;
撤销用户权限在linux数据库的权限
REVOKE DELETE,UPDATE,INSERT on linux.* from lee@localhost;
删除用户
DROP USER lee@localhost; #本地用户
DROP USER westos@%; #远程用户
用户建立
本地用户授权
授权用户通过网页修改数据库信息
2.忘了数据库密码怎么办?
1>mysqld_safe --skip-grant-tables &
systemctl stop mariadb
mysqld_safe --skip-grant-tables & #安全初始化跳过授权列表,并在后台执行
\
2>修改系统数据库超级用户密码
mysql
update mysql.user set Password='111' where User='root'; #修改不安全,因为这样别的用户可以看到超级用户的密码
MariaDB [(none)]> update mysql.user set Password=password('111') where User='root' ; #修改超级用户密码,这样显示的密码是加密后的看不见很安全
MariaDB [(none)]> select * from mysql.user #查看密码是否修改成功
fg
killall -9 mysqld_safe
ps aux | grep mysql
killall -9 6457
ps aux | grep mysql
systemctl start mysql
systemctl start mariadb
mysql -uroot -p111
3>备份数据库:
1 mysqldump -uroot -p111 --all-database #备份所有数据库
2 ls
3 mysqldump -uroot -p111 --all-database --no-data #只备份数据结构,不备份数据
4 mysqldump -uroot -p111 linux #备份linux数据库
5 ls
6 mysqldump -uroot -p111 linux >/mnt/linux.sql #将备份文件追加到/mnt/linux.sql文件中
7 ls /mnt/
恢复数据库,两种方法:
方法一:
1>mysql -uroot -p111 -e "drop database linux;" #将linux数据库删除
2>mysql -uroot -p111 -e "show databases;"
3> mysql -uroot -p111 linux < /mnt/linux.sql
4> vim /mnt/linux.sql #编辑备份文件
22CREATE DATABASE linux;
23USE linux;
5>mysql -uroot -p111 < /mnt/linux.sql
6> mysql -uroot -p111 "select * from linux.westos;"
方法二:
1> mysql -uroot -p111 -e "drop database linux;"
2> mysql -uroot -p111 -e "show databases;" #显示所有数据库
3> mysql -uroot -p111 linux < /mnt/linux.sql #将linux数据库添加/mnt/linux.sql备份文件中,显示没有该库
4> vim /mnt/linux.sql #编辑备份文件
#CREATE DATABASE linux;
#USE linux;
5>mysql -uroot -p111 -e "CREATE DATABASE linux;"#创建数据库
6>mysql -uroot -p111 linux < /mnt/linux.sql #导入备份文件