美文网首页程序员
MariaDB安装与初始化

MariaDB安装与初始化

作者: yuanzicheng | 来源:发表于2017-05-11 11:13 被阅读371次

    1. 安装与初始化

    建议yum方式安装,否则无数个依赖整死你。

    以最新且稳定的原则,选择安装MariaDB10.2,操作系统为CentOS 7.4。

    Step1:在/etc/yum.repos.d/目录下创建MariaDB的yum源文件MariaDB.repo,参考官网Setting up MariaDB Repositories

    cat << EOF > /etc/yum.repos.d/MariaDB.repo
    # MariaDB 10.2 CentOS repository list - created 2018-04-23 04:49 UTC
    # http://downloads.mariadb.org/mariadb/repositories/
    [mariadb] 
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.2/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    EOF
    

    Step2: yum install

    sudo yum install MariaDB-server MariaDB-client
    

    以下是部分安装信息,可以看到需要很多依赖,所以不建议rpm包或编译方式安装,否则需要自行处理众多依赖,极有可能出错。

    已安装:
      MariaDB-client.x86_64 0:10.1.23-1.el7.centos
      MariaDB-server.x86_64 0:10.1.23-1.el7.centos
      MariaDB-shared.x86_64 0:10.1.23-1.el7.centos
    
    作为依赖被安装:
      MariaDB-common.x86_64 0:10.1.23-1.el7.centos
      boost-program-options.x86_64 0:1.53.0-26.el7
      galera.x86_64 0:25.3.20-1.rhel7.el7.centos
      perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
      perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
      perl-DBI.x86_64 0:1.627-4.el7
      perl-Data-Dumper.x86_64 0:2.145-3.el7
      perl-IO-Compress.noarch 0:2.061-2.el7
      perl-Net-Daemon.noarch 0:0.48-5.el7
      perl-PlRPC.noarch 0:0.2020-14.el7
    

    不过yum方式下载速度确实有点慢,但也没什么好办法,国内各大镜像都是5.5版本的,挂机下载安装吧!

    Step3: 初始化,这一步必须使用root账号登录

    #设置编码
    vim /etc/my.cnf
    ...
    [mysqld]
    character-set-server=utf8
    
    #启动(自启动:systemctl enable mariadb)
    systemctl start mariadb
    
    #初始化(进一步操作根据提示进行,基本上一路yes)
    mysql_secure_installation
    

    2. 用户与权限相关操作

    客户端连接
    mysql -h127.0.0.1 -P3306 -u<username> -p<password>
    

    首次连接时可能出现错误提示,依次执行以下命令即可

    sudo mysql -uroot
    use mysql;
    update user set plugin='' where user='root';
    flush privileges;
    exit
    

    如果通过其他主机远程连接时,出现以下错误,则需要关闭selinux及firewalld。

    ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.166.130' (113 "No route to host")
    
    查看用户
    select user,host from mysql.user;
    
    创建用户并设置密码及允许访问的host
    insert into mysql.user (user,host,password) values ('mysql','%',password('密码'));
    
    修改密码
    update mysql.user set password=password('新密码') where user='用户名';
    
    创建用户
    insert into mysql.user (user,host) values ('mysql','%');
    
    修改密码
    update mysql.user set password=password('密码') where user='用户';
    
    授权
    grant insert,update,select,delete on 数据库.* to 用户@'%';
    
    撤销权限
    revoke delete on 数据库.*  from 用户;
    
    更新权限
    flush privileges;
    

    3. 数据库相关操作

    查看字符编码
    MariaDB [(none)]> show variables like '%character%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8mb4                    |
    | character_set_connection | utf8mb4                    |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8mb4                    |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
    查看数据库列表
    show databases;
    show schemas;
    
    创建数据库
    MariaDB [(none)]> create schema test default charset utf8;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> show create database test;
    +----------+---------------------------------------------------------------+
    | Database | Create Database                                               |
    +----------+---------------------------------------------------------------+
    | test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+---------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    删除数据库
    MariaDB [(none)]> drop database test;
    Query OK, 0 rows affected (0.00 sec)
    
    切换当前数据库
    use 数据库;
    
    查看当前数据库下所有表
    show tables;
    
    查看表中所有字段详细信息
    show full columns from 表名;
    

    4.时区设置

    4.1 查看时区
    MariaDB [(none)]> show variables like '%time_zone%';
    +------------------+--------+
    | Variable_name    | Value  |
    +------------------+--------+
    | system_time_zone | UTC    |
    | time_zone        | +08:00 |
    +------------------+--------+
    
    4.2 设置当前会话时区
    set time_zone = '+8:00';
    flush privileges;
    
    4.3 设置全局时区
    set global time_zone = '+8:00';
    flush privileges;
    

    5. 导入、导出

    导出(备份结构和数据)
    mysqldump -h 127.0.0.1 -u root -p 数据库 > 导出文件
    
    导出(仅备份结构)
    mysqldump -h 127.0.0.1 -u root -p -d 数据库 > 导出文件
    
    导入(恢复)
    mysql -u root -p -h 127.0.0.1
    use 数据库名
    source 备份.sql
    # 或使用以下方式
    mysql -u root -p -h 127.0.0.1 < 备份.sql
    

    相关文章

      网友评论

        本文标题:MariaDB安装与初始化

        本文链接:https://www.haomeiwen.com/subject/kcmntxtx.html