• [Linux] centos7 安装Mariadb


    centos7 安装Mariadb

    MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB完全兼容mysql,使用方法也是一样的

    有的centos7已经默认安装了Mariadb,可以查看自己的有没有安装,没有安装的再进行安装,已经安装了可以不用安装也可以卸载了重装。卸载命令 yum remove mariadb-server

    # 我的系统环境
    [root@zzy ~]# cat /etc/redhat-release
    CentOS Linux release 7.7.1908 (Core)
    [root@zzy ~]# 
    
    

    1、安装MariaDB

    通过yum安装就行了。简单快捷,安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个是客户端。

    [root@zzy ~]# yum install mariadb-server
    

    2、配置MariaDB

    1)安装完成后首先要把MariaDB服务开启,并设置为开机启动

    [root@zzy ~]# systemctl start mariadb  # 开启服务
    [root@zzy ~]# systemctl enable mariadb  # 设置为开机自启动服务
    

    2)首次安装需要进行数据库的配置,命令都和mysql的一样

    [root@zzy ~]# mysql_secure_installation
    

    3)配置时出现的各个选项

    Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
    
    Set root password? [Y/n]  # 设置密码,y
    
    New password:  # 新密码
    Re-enter new password:  # 再次输入密码
    
    Remove anonymous users? [Y/n]  # 移除匿名用户, y
    
    Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
    
    Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
    
    Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许
    

    4)测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了

    [root@zzy ~]#  mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 8
    Server version: 5.5.60-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]>
    

    3、设置MariaDB字符集为utf-8

    1)vi /etc/my.cnf 文件

    在 [mysqld] 标签下添加

    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    

    2)vi /etc/my.cnf.d/client.cnf 文件

    在 [client] 标签下添加

    default-character-set=utf8
    

    3)vi /etc/my.cnf.d/mysql-clients.cnf 文件

    在 [mysql] 标签下添加

    default-character-set=utf8
    

    4)重启服务

    [root@zzy ~]#  systemctl restart mariadb
    

    5)进入mariadb查看字符集

    img 未配置字符集前

    MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.01 sec)
    
    +----------------------+-------------------+
    | Variable_name        | Value             |
    +----------------------+-------------------+
    | collation_connection | utf8_general_ci   |
    | collation_database   | latin1_swedish_ci |
    | collation_server     | latin1_swedish_ci |
    +----------------------+-------------------+
    3 rows in set (0.00 sec)
    
    MariaDB [(none)]>
    

    配置字符集后

    MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
    +----------------------+-----------------+
    | Variable_name        | Value           |
    +----------------------+-----------------+
    | collation_connection | utf8_unicode_ci |
    | collation_database   | utf8_unicode_ci |
    | collation_server     | utf8_unicode_ci |
    +----------------------+-----------------+
    3 rows in set (0.00 sec)
    
    MariaDB [(none)]>
    

    4、远程链接mariadb数据库

    mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库

    1)关闭防火墙

    ① 关闭防火墙 systemctl stop firewalld

    # 阿里云服务器需要配置安全组!
    [root@zzy ~]#  systemctl stop firewalld
    

    ② 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙

    [root@zzy ~]#  firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启
    no
    [root@zzy ~]#  firewall-cmd --zone=public --add-port=3306/tcp --permanent  # 开启3306端口
    success
    [root@zzy ~]#  firewall-cmd --reload  # 重启防火墙
    success
    [root@zzy ~]#  firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启
    yes
    

    2)先查看mysql数据库中的user表

    [root@zzy ~]#  mysql -u root -p  # 先通过本地链接进入数据库
    
    MariaDB [(none)]> use mysql;
    
    MariaDB [mysql]> select host, user from user;
    +-----------+------+
    | host      | user |
    +-----------+------+
    | 127.0.0.1 | root |
    | ::1       | root |
    | mini      | root |
    +-----------+------+
    3 rows in set (0.00 sec)
    

    3)将::1段改为 "%" ,%表示任意IP都可以访问

    MariaDB [mysql]> update user set host='%' where host='::1';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    MariaDB [mysql]> select host, user from user;
    +-----------+------+
    | host      | user |
    +-----------+------+
    | %         | root |
    | 127.0.0.1 | root |
    | localhost | root |
    +-----------+------+
    3 rows in set (0.00 sec)
    

    4)刷新权限表,或重启mariadb服务,一下二选一即可

    MariaDB [mysql]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    MariaDB [mysql]>exit
    [root@zzy ~]#  systemctl restart mariadb  #重启mysql
    

    注意:刷新权限表是在数据库中,重启服务是在外部命令行中

    6)重新远程链接mariadb

    • naviate软件:

      网盘链接:https://pan.baidu.com/s/1VVRcsMrfnb1lGlZCoICIwA 提取码:kier

    image-20201120161239899

    更多交流,请加QQ:390351113.请备注好友来自博客园<IT自学吧>
  • 相关阅读:
    linux C 代码查看推荐 anjuta
    Fixes error: "Couldnt load module pthres" and similar.
    mfloatabi=name
    ubuntu 阅读chm 文件
    android 文件系统挂报错 switch_root: bad init /sbin/init: No such file or directory
    writel __raw_writel mb()/rmb()/wmb()
    企业创新里的阴和阳
    关于verilog testbench
    Git使用初步
    Latchup初认识
  • 原文地址:https://www.cnblogs.com/itzixueba/p/13949469.html
Copyright © 2020-2023  润新知