欢迎投稿

今日深度:

基于Linux下的mariadb数据库管理,linuxmariadb数据库

基于Linux下的mariadb数据库管理,linuxmariadb数据库


                                                   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 #导入备份文件


www.htsjk.Com true http://www.htsjk.com/mariadb/36281.html NewsArticle 基于Linux下的mariadb数据库管理,linuxmariadb数据库                                                    MariaDB  mariadb简介: Mariadb数据库管理系统是MYSQL的一个分支...
相关文章
    暂无相关文章
评论暂时关闭