安装
[root@s1 ~]# yum group install mariadb mariadb-client -y [root@s1 ~]# systemctl enable mariadb.service [root@s1 ~]# systemctl start mariadb.service [root@s1 ~]# mysql_secure_installation Set root password? [Y/n] Y New password: Re-enter new password: (按默认配置一路回车下去就行) [root@s1 ~]# firewall-cmd --permanent --add-service=mysql [root@s1 ~]# firewall-cmd --reload [root@s1 ~]# ss -tulnp | grep mysql tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",10844,13))
在/etc/my.cnf [mysqld]下添加
skip-networking=1
可以使mariadb仅在本机使用;
登入数据库
[root@s1 ~]# mysql --user=root --password=redhat MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec)
创建数据库
MariaDB [(none)]> CREATE DATABASE gis; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> USE gis; Database changed MariaDB [gis]> SHOW TABLES; Empty set (0.00 sec)
创建数据表
MariaDB [gis]> CREATE TABLE River( -> NAME varchar(30), -> Origin varchar(30), -> Length int(30), -> Shape LineString ); Query OK, 0 rows affected (0.09 sec) MariaDB [gis]> DESCRIBE River; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | NAME | varchar(30) | YES | | NULL | | | Origin | varchar(30) | YES | | NULL | | | Length | int(30) | YES | | NULL | | | Shape | linestring | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) MariaDB [gis]> INSERT INTO River(NAME,Origin,Length) VALUES('River1','Place A',20); Query OK, 1 row affected (0.02 sec) MariaDB [gis]> INSERT INTO River(NAME,Origin,Length) VALUES('River2','Place B',25); Query OK, 1 row affected (0.03 sec) MariaDB [gis]> INSERT INTO River(NAME,Origin,Length) VALUES('River3','Place C',28); Query OK, 1 row affected (0.01 sec)
筛选条目
MariaDB [gis]> SELECT Origin FROM River WHERE Length>20; +---------+ | Origin | +---------+ | Place B | | Place C | +---------+ 2 rows in set (0.00 sec) MariaDB [gis]> CREATE TABLE City( NAME varchar(30), river varchar(30), country varchar(30) ); Query OK, 0 rows affected (0.09 sec)
从两个表中查询
MariaDB [gis]> SELECT Ri.Name, Ri.Origin, Ci.NAME -> FROM City Ci, River Ri -> WHERE Ci.river = Ri.NAME -> AND Ri.length > 20 ; +--------+---------+-----------+ | Name | Origin | NAME | +--------+---------+-----------+ | River2 | Place B | Shanghai | | River3 | Place C | Guangzhou | +--------+---------+-----------+ 2 rows in set (0.00 sec)
删除条目
MariaDB [gis]> SELECT * FROM River; +--------+---------+--------+-------+ | NAME | Origin | Length | Shape | +--------+---------+--------+-------+ | River1 | Place A | 20 | NULL | | River2 | Place B | 25 | NULL | | River3 | Place C | 28 | NULL | +--------+---------+--------+-------+ 3 rows in set (0.00 sec) MariaDB [gis]> DELETE FROM River WHERE NAME = 'River1' ; Query OK, 1 row affected (0.02 sec) MariaDB [gis]> SELECT * FROM River; +--------+---------+--------+-------+ | NAME | Origin | Length | Shape | +--------+---------+--------+-------+ | River2 | Place B | 25 | NULL | | River3 | Place C | 28 | NULL | +--------+---------+--------+-------+ 2 rows in set (0.00 sec)
修改条目
MariaDB [gis]> UPDATE River SET Length=21 WHERE NAME='River1'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [gis]> SELECT * FROM River; +--------+---------+--------+-------+ | NAME | Origin | Length | Shape | +--------+---------+--------+-------+ | River2 | Place B | 25 | NULL | | River3 | Place C | 28 | NULL | | River1 | Place A | 21 | NULL | +--------+---------+--------+-------+ 3 rows in set (0.00 sec)
赋予用户权限
MariaDB [gis]> CREATE USER feichashao@localhost IDENTIFIED BY 'redhat'; Query OK, 0 rows affected (0.00 sec) MariaDB [gis]> GRANT SELECT, UPDATE, DELETE, INSERT on gis.* TO feichashao@localhost; Query OK, 0 rows affected (0.00 sec) MariaDB [gis]> SHOW GRANTS FOR feichashao@localhost; +-------------------------------------------------------------------------------------------------------------------+ | Grants for feichashao@localhost | +-------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'feichashao'@'localhost' IDENTIFIED BY PASSWORD '*84BB5DF4823DA319BBF86C99624479A198E6EEE9' | | GRANT SELECT, INSERT, UPDATE, DELETE ON `gis`.* TO 'feichashao'@'localhost' | +-------------------------------------------------------------------------------------------------------------------+ [root@s1 ~]# mysql --user=feichashao --password=redhat MariaDB [(none)]> use gis; MariaDB [gis]> SHOW TABLES; +---------------+ | Tables_in_gis | +---------------+ | City | | River | +---------------+ 2 rows in set (0.00 sec) MariaDB [gis]> SELECT * FROM City; +-----------+--------+---------+ | NAME | river | country | +-----------+--------+---------+ | Beijng | River1 | China | | Shanghai | River2 | China | | Guangzhou | River3 | China | +-----------+--------+---------+ 3 rows in set (0.00 sec)
备份数据库
[root@s1 ~]# mysqldump --user=root --password=redhat gis > /tmp/dbbackup.dump MariaDB [(none)]> DROP DATABASE gis;
恢复数据库
先建立名为gis的数据库,然后执行:
[root@s1 ~]# mysql --user=root --password=redhat gis < /tmp/dbbackup.dump
MariaDB [gis]> SHOW TABLES; +---------------+ | Tables_in_gis | +---------------+ | City | | River | +---------------+ 2 rows in set (0.00 sec) MariaDB [gis]> SELECT * FROM City; +-----------+--------+---------+ | NAME | river | country | +-----------+--------+---------+ | Beijng | River1 | China | | Shanghai | River2 | China | | Guangzhou | River3 | China | +-----------+--------+---------+ 3 rows in set (0.00 sec)