zoukankan      html  css  js  c++  java
  • mariadb

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。Red Hat Enterprise Linux/CentOS 7.0 发行版已将默认的数据库从 MySQL 切换到 MariaDB。

    安装方法一:yum安装mariadb

    添加MariaDB yum仓库

    添加MariaDB的YUM配置文件MariaDB.repo文件

    vim /etc/yum.repos.d/MariaDB.repo

    添加repo仓库配置

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.1/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    在centos7中安装MariaDB

    yum install MariaDB-server MariaDB-client -y

    启动MariaDB相关命令

    systemctl start mariadb  #启动MariaDB
    
    systemctl stop mariadb  #停止MariaDB
    
    systemctl restart mariadb  #重启MariaDB
    
    systemctl enable mariadb  #设置开机启动

    初始化MariaDB

    在确认 MariaDB 数据库软件程序安装完毕并成功启动后请不要立即使用。为了确保数据 库的安全性和正常运转,需要先对数据库程序进行初始化操作。这个初始化操作涉及下面 5 个 步骤。

    初始化命令

    mysql_secure_installation

     

     配置mysql

    查看编码

    MariaDB [(none)]> s
    --------------
    mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
    
    Connection id:        3
    Current database:    
    Current user:        root@localhost
    SSL:            Not in use
    Current pager:        stdout
    Using outfile:        ''
    Using delimiter:    ;
    Server:            MariaDB
    Server version:        5.5.60-MariaDB MariaDB Server
    Protocol version:    10
    Connection:        Localhost via UNIX socket
    Server characterset:    latin1
    Db     characterset:    latin1
    Client characterset:    utf8
    Conn.  characterset:    utf8
    UNIX socket:        /var/lib/mysql/mysql.sock
    Uptime:            7 min 48 sec

    中文编码设置,编辑mysql配置文件/etc/my.cnf,写入一下内容

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    log-error=/var/log/mysqld.log
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

    再次查看编码

    MariaDB [(none)]> s
    --------------
    mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
    
    Connection id:        2
    Current database:    
    Current user:        root@localhost
    SSL:            Not in use
    Current pager:        stdout
    Using outfile:        ''
    Using delimiter:    ;
    Server:            MariaDB
    Server version:        5.5.60-MariaDB MariaDB Server
    Protocol version:    10
    Connection:        Localhost via UNIX socket
    Server characterset:    utf8
    Db     characterset:    utf8
    Client characterset:    utf8
    Conn.  characterset:    utf8
    UNIX socket:        /var/lib/mysql/mysql.sock
    Uptime:            11 sec

    查看如何创建的数据库

    MariaDB [wl]> show create database wl;

    效果

    MariaDB [wanglan]> select * from wl;
    +------+--------+
    | id   | name   |
    +------+--------+
    |    1 | 张三   |
    +------+--------+

    mysql基本命令

     修改mysql密码

    MariaDB [wanglan]> set password = PASSWORD('123456');
    Query OK, 0 rows affected (0.00 sec)

    为了数据库的安全以及和其他用户协同管理数据库,就需要创建其他数据库账户,然后分配权限

    MariaDB [(none)]> create user wl@'%' identified by '123'
    创建一个名为wl的用户,可以在任何ip下登陆,密码为123

    查看用户

    MariaDB [mysql]> select user,host,password from user where user='wl';
    +---------+-----------+-------------------------------------------+
    | user    | host      | password                                  |
    +---------+-----------+-------------------------------------------+
    | wl      | %         | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |                                     |
    +---------+-----------+-------------------------------------------+
    1 rows in set (0.00 sec)

    数据库权限设置

    mysql使用grant命令对账户进行授权,grant命令常见格式如下

    grant 权限 on 数据库.表名 to 账户@主机名            对特定数据库中的特定表授权
    grant 权限 on 数据库.* to 账户@主机名              对特定数据库中的所有表给与授权
    grant 权限1,权限2,权限3 on *.* to 账户@主机名      对所有库中的所有表给与多个授权
    grant all privileges on *.* to 账户@主机名      对所有库和所有表授权所有权限

    设置权限

    MariaDB [mysql]> grant all privileges on *.* to wanglan@'%' identified by '123';
    Query OK, 0 rows affected (0.00 sec)

    # 为wl用户设置添加对所有库和表的权限,密码为123

    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    #刷新权限

    数据库备份与恢复

    复制代码

    数据库备份与恢复

    mysqldump命令用于备份数据库数据

    [root@master ~]# mysqldump -u root -p --all-databases > /tmp/db.dump

    进入mariadb数据库,删除一个db

    [root@master ~]# mysql -uroot -p
    
    MariaDB [(none)]> drop database s11;

    进行数据恢复,吧刚才重定向备份的数据库文件导入到mysql中

    [root@master ~]# mysql -uroot -p < /tmp/db.dump

     方式二

    进入数据库后,执行 
    MariaDB [(none)]>  source  /tmp/db.dump 

     

  • 相关阅读:
    CF446C [DZY loves Fibonacci]
    [BZOJ2286] 消耗战
    [CF Round #278] Tourists
    BZOJ2553 [BJWC2011]禁忌
    NOI2018D2T1 屠龙勇士
    BZOJ2333 棘手的操作
    bzoj4196: [Noi2015]软件包管理器(树链剖分)
    bzoj1833: [ZJOI2010]count 数字计数(数位DP)
    bzoj1026: [SCOI2009]windy数(数位DP)
    bzoj3631: [JLOI2014]松鼠的新家(树上差分)
  • 原文地址:https://www.cnblogs.com/wanglan/p/10502887.html
Copyright © 2011-2022 走看看