1.下载数据库服务软件

 

yum install mariadb-server -y                        ##下载服务软件
**MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
    systemctl start mariadb                                  ##开启服务
    mysql                                                                ##登陆测试(以匿名用户身份)
    netstat -antlpe |grep mysql                             ##查询监听端口
    vim /etc/my.cnf                                                 ##修改配置文件,加上一行
        10    skip-networking=1
    mysql_secure_installation                              ##打开mysql安全配置向导
        Set root password? [Y/n] y                         ##确认设置密码
        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         ##立即刷新安全配置向导
    systemctl restart mariadb                                  ##重启服务    
2. 数据库的登陆
    [root@localhost ~]# mysql
     ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)   ##匿名用户登陆被拒绝    [root@localhost ~]# mysql -uroot -p
     Enter password:                                                                                                                            ##输入密码即以root用户身份登陆(安全起见,密码无回显)
     **密码也可直接加在-p之后,例如:mysql -uroot -ppasswd,但这种方法由于密码以明文方式输入不安全,所以一般不用这种方式登陆

3.数据库管理基本命令

    show databases;                                         ##显示数据库   

    use mysql                  ##进入mysql数据库

   

mariadb创建json字段 mariadb 创建数据库_数据库


    show tables;               ##显示当前库中表的名称   

mariadb创建json字段 mariadb 创建数据库_数据库_02


    select * from user;        ##查询user表中的所有内容(* 可以用此表中的任何字段来代替)   

mariadb创建json字段 mariadb 创建数据库_maria db_03

    desc user;                 ##查询user表的结构(显示所有字段名称)

   

mariadb创建json字段 mariadb 创建数据库_数据库_04

4.数据库及表的建立

MariaDB [mysql]> create database westos;                ##创建westos库
 Query OK, 1 row affected (0.00 sec) MariaDB [mysql]> use westos;                                      ##进入westos库
 Database changed

 MariaDB [westos]> create table linux( username varchar(15) not null, password varchar(50) not null );
 Query OK, 0 rows affected (0.01 sec)                          ##在westos库中创建linux表,表中有两个字段
 **当一条命令比较长时,可分段编写(在命令没写完时按Enter键即跳到下一行),这样,在命令出错时系统会提示哪一行出错了,这样比较容易排错
 MariaDB [westos]> desc linux;
 +----------+-------------+------+-----+---------+-------+
 | Field    | Type        | Null | Key | Default | Extra |
 +----------+-------------+------+-----+---------+-------+
 | username | varchar(15) | NO   |     | NULL    |       |
 | password | varchar(50) | NO   |     | NULL    |       |
 +----------+-------------+------+-----+---------+-------+
 2 rows in set (0.00 sec)

 MariaDB [westos]> insert into linux values('user1','123');       ##在linux表中插入一条信息  
 Query OK, 1 row affected (0.00 sec)

 MariaDB [westos]> insert into linux values('user2',password('123') );    ##插入第二条信息,user2的password字段使用password加密字符
 Query OK, 1 row affected (0.01 sec)

 MariaDB [westos]> select * from linux;
 +----------+-------------------------------------------+
 | username | password                                  |
 +----------+-------------------------------------------+
 | user1    | 123                                       |
 | user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 +----------+-------------------------------------------+
 2 rows in set (0.00 sec)5.更新数据库信息
MariaDB [westos]> alter table linux add age varchar(5);                ##更新linux表的结构,添加age字段(默认添加到最后一列)
 Query OK, 2 rows affected (0.03 sec)               
 Records: 2  Duplicates: 0  Warnings: 0

 MariaDB [westos]> select * from linux;
 +----------+-------------------------------------------+------+
 | username | password                                  | age  |
 +----------+-------------------------------------------+------+
 | user1    | 123                                       | NULL |
 | user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | NULL |
 +----------+-------------------------------------------+------+
 2 rows in set (0.00 sec)

 MariaDB [westos]> alter table linux drop age ;                         ##更新linux表的结构,删除age字段
 Query OK, 2 rows affected (0.04 sec)               
 Records: 2  Duplicates: 0  Warnings: 0

 MariaDB [westos]> select * from linux;
 +----------+-------------------------------------------+
 | username | password                                  |
 +----------+-------------------------------------------+
 | user1    | 123                                       |
 | user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 +----------+-------------------------------------------+
 2 rows in set (0.00 sec)

 MariaDB [westos]> alter table linux add age varchar(5) after username;##添加age字段到username后面
 Query OK, 2 rows affected (0.03 sec)               
 Records: 2  Duplicates: 0  Warnings: 0

 MariaDB [westos]> select * from linux;
 +----------+------+-------------------------------------------+
 | username | age  | password                                  |
 +----------+------+-------------------------------------------+
 | user1    | NULL | 123                                       |
 | user2    | NULL | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 +----------+------+-------------------------------------------+
 2 rows in set (0.00 sec)
 MariaDB [westos]> update linux set password=password('123') where username='user1' ;##更新数据库,将user1的密码改为加密字符
 ***update linux set password=password('123') where (username='user1' or username='user2' ) ;##更新数据库,将user1和user2的密码用password加密
 Query OK, 1 row affected (0.01 sec)
 Rows matched: 1  Changed: 1  Warnings: 0

 MariaDB [westos]> select * from linux;
 +----------+-------------------------------------------+
 | username | password                                  |
 +----------+-------------------------------------------+
 | user1    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 | user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 +----------+-------------------------------------------+
 2 rows in set (0.00 sec)6.数据库的备份和恢复
[root@localhost ~]# mysqldump -u root -pwestos westos > /mnt/westos.sql    ##备份westos库

 [root@localhost mnt]# mysql -uroot -p
 Enter password: 

 MariaDB [(none)]> use westos
 Reading table information for completion of table and column names
 You can turn off this feature to get a quicker startup with -A

 Database changed
 MariaDB [westos]> delete from linux where username='user1' ;        ##删除linux表中的user1项中的数据
 Query OK, 1 row affected (0.01 sec)

 MariaDB [westos]> select * from linux;
 +----------+-------------------------------------------+
 | username | password                                  |
 +----------+-------------------------------------------+
 | user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 +----------+-------------------------------------------+
 1 row in set (0.00 sec)

 MariaDB [westos]> drop database westos;                                       ##删除westos库
 Query OK, 1 row affected (0.01 sec)

 MariaDB [(none)]> use westos
 ERROR 1049 (42000): Unknown database 'westos'
 MariaDB [(none)]> create database westos;                                     ##新建westos库(无数据,准备恢复)
 Query OK, 1 row affected (0.00 sec)
 [root@localhost mnt]# mysql -uroot -pwestos westos < /mnt/westos.sql  ##用备份文件恢复westos库
 [root@localhost mnt]# mysql -uroot -p
 Enter password: 

 MariaDB [(none)]> show tables from westos;
 +------------------+
 | Tables_in_westos |
 +------------------+
 | linux            |
 +------------------+
 1 row in set (0.00 sec)
 [root@localhost mnt]# mysqldump -u root -pwestos westos  linux> /mnt/linux.sql   ##备份linux表内容
 [root@localhost mnt]# mysql -uroot -p
 Enter password: 

 MariaDB [(none)]> use westos
 Reading table information for completion of table and column names
 You can turn off this feature to get a quicker startup with -A

 Database changed
 MariaDB [westos]> drop table linux; 
 Query OK, 0 rows affected (0.01 sec)

 MariaDB [westos]> select * from linux;
 ERROR 1146 (42S02): Table 'westos.linux' doesn't exist
 [root@localhost mnt]# mysql -uroot -pwestos westos < /mnt/linux.sql
 [root@localhost mnt]# mysql -uroot -p
 Enter password: 

 MariaDB [(none)]> show tables from westos;
 +------------------+
 | Tables_in_westos |
 +------------------+
 | linux            |
 +------------------+
 1 row in set (0.00 sec)
7.用户授权
 MariaDB [(none)]> create user yan@localhost identified by '123';  ##创建用户yan,只允许他在本地登录,密码为123
 Query OK, 0 rows affected (0.00 sec)

 MariaDB [(none)]> create user yan@'%' identified by '123';           ##创建用户yan,允许他通过网络登录,密码为123
 Query OK, 0 rows affected (0.00 sec)

 MariaDB [(none)]> grant insert,update,delete,select on westos.linux to yan@localhost;
 Query OK, 0 rows affected (0.01 sec)                                            ##给yan@localhost用户更删增找的权限

 MariaDB [(none)]> grant select on westos.* to yan@'%';                ##给yan@'%'用户找的权限
 Query OK, 0 rows affected (0.00 sec)

 MariaDB [(none)]> show grants for yan@'%'                                  ##显示用户权限
     -> ;
 +----------------------------------------------------------------------------------------------------+
 | Grants for yan@%                                                                                   |
 +----------------------------------------------------------------------------------------------------+
 | GRANT USAGE ON *.* TO 'yan'@'%' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
 | GRANT SELECT ON `westos`.* TO 'yan'@'%'                                                            |
 +----------------------------------------------------------------------------------------------------+
 2 rows in set (0.00 sec)

 MariaDB [(none)]> show grants for yan@localhost;
 +------------------------------------------------------------------------------------------------------------+
 | Grants for yan@localhost                                                                                   |
 +------------------------------------------------------------------------------------------------------------+
 | GRANT USAGE ON *.* TO 'yan'@'localhost' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
 | GRANT SELECT, INSERT, UPDATE, DELETE ON `westos`.`linux` TO 'yan'@'localhost'                              |
 +------------------------------------------------------------------------------------------------------------+
 2 rows in set (0.00 sec)
 MariaDB [westos]> revoke delete on westos.linux from yan@localhost;    ##除去yan@localhost用户删除的权限
 Query OK, 0 rows affected (0.00 sec)

 [root@localhost mnt]# mysql -uyan -p123                                                  ##登录测试
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 28
 Server version: 5.5.35-MariaDB MariaDB Server

 Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 MariaDB [(none)]> show tables from westos;
 +------------------+
 | Tables_in_westos |
 +------------------+
 | linux            |
 | test             |
 +------------------+
 2 rows in set (0.00 sec)

 MariaDB [(none)]> use westos                                    
 Reading table information for completion of table and column names
 You can turn off this feature to get a quicker startup with -A

 Database changed
 MariaDB [westos]> insert into linux values('yan','123');                            ##插入信息正常
 Query OK, 1 row affected (0.01 sec)

 MariaDB [westos]> select * from linux;                                                    ##查看信息正常
 +----------+-------------------------------------------+
 | username | password                                  |
 +----------+-------------------------------------------+
 | user1    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 | user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
 | yan      | 123                                       |
 +----------+-------------------------------------------+
 4 rows in set (0.00 sec)

 MariaDB [westos]> delete from linux where username='yan';
 ERROR 1142 (42000): DELETE command denied to user 'yan'@'localhost' for table 'linux' ##删除信息时被拒绝

 MariaDB [(none)]> drop user yan@'%';                      ##删除yan@'%'用户
 Query OK, 0 rows affected (0.00 sec)

8.修改密码
 **旧密码记得**
 [root@localhost mnt]# mysqladmin -uroot -pwestos password yan               ##直接用命令修改密码
 [root@localhost mnt]# mysql -uroot -pyan                                                    ##登陆测试(新密码登陆成功)
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 7
 Server version: 5.5.35-MariaDB MariaDB Server

 Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 **旧密码忘记**
 [root@localhost mnt]# systemctl stop mariadb
 [root@localhost mnt]# mysqld_safe --skip-grant-tables &                            ##开启mysql登录接口并忽略授权表
 [1] 2397
 [root@localhost mnt]# 170513 01:50:03 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
 170513 01:50:03 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

 [root@localhost mnt]# mysql                                                                       ##可以不用密码直接登录
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 1
 Server version: 5.5.35-MariaDB MariaDB Server

 Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 MariaDB [(none)]> update mysql.user set Password=password('123') where User='root';##更新超户密码信息
 Query OK, 3 rows affected (0.00 sec)
 Rows matched: 3  Changed: 3  Warnings: 0

 [root@localhost mnt]# ps aux |grep mysql                   ##查找mysql的进程并结束他们
 root      2397  0.0  0.0 113248  1620 pts/1    S    01:50   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
 mysql     2552  0.1  4.8 859072 91324 pts/1    Sl   01:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
 root      2587  0.0  0.0 112640   976 pts/1    S+   01:51   0:00 grep --color=auto mysql
 [root@localhost mnt]# kill -9 2397
 [root@localhost mnt]# kill -9 2552
 [1]+  Killed                  mysqld_safe --skip-grant-tables
 [root@localhost mnt]# ps aux |grep mysql
 root      2597  0.0  0.0 112640   980 pts/1    R+   01:52   0:00 grep --color=auto mysql
 [root@localhost mnt]# systemctl start mariadb            ##开启mysql
 [root@localhost mnt]# mysql -uroot -p123                   ##用新密码登录测试(登陆成功)
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 2
 Server version: 5.5.35-MariaDB MariaDB Server

 Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 MariaDB [(none)]> 
9.数据库网页管理工具
 [root@localhost ~]# yum install httpd php php-mysql -y                                 ##下载相关语言服务
 [root@localhost ~]# systemctl start httpd
 [root@localhost ~]# systemctl enable httpd
 ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
 [root@localhost ~]# systemctl stop firewalld.service 
 [root@localhost ~]# systemctl disable firewalld.service 
 rm '/etc/systemd/system/basic.target.wants/firewalld.service'
 rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
 [root@localhost ~]# yum install lftp -y
 lftp 172.25.254.250:/pub/docs/software> get phpMyAdmin-3.4.0-all-languages.tar.bz2    ##下载语言翻译的压缩包
 4548030 bytes transferred 
 [root@localhost ~]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html     ##将压缩宝解压到http默认发布目录
 [root@localhost ~]# cd /var/www/html
 [root@localhost html]# ls
 phpMyAdmin-3.4.0-all-languages
 [root@localhost html]# mv phpMyAdmin-3.4.0-all-languages mysqladmin                         ##重命名,换个短的名字[root@localhost html]# ls
 mysqladmin
 [root@localhost html]# cd mysqladmin
 [root@localhost mysqladmin]# ls
 [root@localhost mysqladmin]# cp -p config.sample.inc.php config.inc.php
 [root@localhost mysqladmin]# vim config.inc.php
 [root@localhost mysqladmin]# systemctl restart httpd测试:访问http://172.25.254.240/mysqladmin