centos7安装mariadb

素颜马尾好姑娘i 2022-02-03 05:17 525阅读 0赞

1、安装MariaDB

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

  1. [root@mini ~]# yum install mariadb-server

2、配置MariaDB

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

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

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

  1. [root@mini ~]# mysql_secure_installation

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

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

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

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

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

1)/etc/my.cnf 文件

在 [mysqld] 标签下添加

  1. init_connect='SET collation_connection = utf8_unicode_ci'
  2. init_connect='SET NAMES utf8'
  3. character-set-server=utf8
  4. collation-server=utf8_unicode_ci
  5. skip-character-set-client-handshake

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

在 [client] 标签下添加

  1. default-character-set=utf8

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

在 [mysql] 标签下添加

  1. default-character-set=utf8

4)重启服务

  1. [root@mini ~]# systemctl restart mariadb

5)进入mariadb查看字符集

ExpandedBlockStart.gif

复制代码

  1. MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
  2. +--------------------------+----------------------------+
  3. | Variable_name | Value |
  4. +--------------------------+----------------------------+
  5. | character_set_client | utf8 |
  6. | character_set_connection | utf8 |
  7. | character_set_database | latin1 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | utf8 |
  10. | character_set_server | latin1 |
  11. | character_set_system | utf8 |
  12. | character_sets_dir | /usr/share/mysql/charsets/ |
  13. +--------------------------+----------------------------+
  14. 8 rows in set (0.01 sec)
  15. +----------------------+-------------------+
  16. | Variable_name | Value |
  17. +----------------------+-------------------+
  18. | collation_connection | utf8_general_ci |
  19. | collation_database | latin1_swedish_ci |
  20. | collation_server | latin1_swedish_ci |
  21. +----------------------+-------------------+
  22. 3 rows in set (0.00 sec)
  23. MariaDB [(none)]>

复制代码

ExpandedBlockStart.gif

复制代码

  1. MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
  2. +--------------------------+----------------------------+
  3. | Variable_name | Value |
  4. +--------------------------+----------------------------+
  5. | character_set_client | utf8 |
  6. | character_set_connection | utf8 |
  7. | character_set_database | utf8 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | utf8 |
  10. | character_set_server | utf8 |
  11. | character_set_system | utf8 |
  12. | character_sets_dir | /usr/share/mysql/charsets/ |
  13. +--------------------------+----------------------------+
  14. 8 rows in set (0.00 sec)
  15. +----------------------+-----------------+
  16. | Variable_name | Value |
  17. +----------------------+-----------------+
  18. | collation_connection | utf8_unicode_ci |
  19. | collation_database | utf8_unicode_ci |
  20. | collation_server | utf8_unicode_ci |
  21. +----------------------+-----------------+
  22. 3 rows in set (0.00 sec)
  23. MariaDB [(none)]>

复制代码

4、远程链接mariadb数据库

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

1)关闭防火墙

① 关闭防火墙 systemctl stop firewalld

  1. [root@mini ~]# systemctl stop firewalld

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

复制代码

  1. [root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
  2. no
  3. [root@mini ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启3306端口
  4. success
  5. [root@mini ~]# firewall-cmd --reload # 重启防火墙
  6. success
  7. [root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
  8. yes

复制代码

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

复制代码

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

复制代码

3)将与主机名相等的字段改为 “%” ,我的主机名为mini,

复制代码

  1. MariaDB [mysql]> update user set host='%' where host='mini';
  2. Query OK, 1 row affected (0.00 sec)
  3. Rows matched: 1 Changed: 1 Warnings: 0
  4. MariaDB [mysql]> select host, user from user;
  5. +-----------+------+
  6. | host | user |
  7. +-----------+------+
  8. | % | root |
  9. | 127.0.0.1 | root |
  10. | localhost | root |
  11. +-----------+------+
  12. 3 rows in set (0.00 sec)

复制代码

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

  1. MariaDB [mysql]> flush privileges;
  2. Query OK, 0 rows affected (0.00 sec)
  3. [root@mini ~]# systemctl restart mariadb

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

6)重新远程链接mariadb

960580-20181013185600440-18039039.png

发表评论

表情:
评论列表 (有 0 条评论,525人围观)

还没有评论,来说两句吧...

相关阅读