ContOS8 配置MariaDB

导语:

该篇文章主要记录ContOS8安装MariaDB后的一些配置内容,若想要详细了解安装过程请移步至上一篇博文!

 

正文:

首先对MariaDB进行相关的简单配置

使用mysql_secure_installation命令进行初始化配置。

首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

  若mysql_secure_installation命令执行不成功,则跳过即可。

一,设置用户及访问权限

使用mysql -u root -p 以root身份登入数据库

# mysql -u root -p         //刚安装未设置过root密码的可直接Enter,设置过root密码的输入密码进入
//默认密码隐藏,输入后直接Enter
MariaDB[(NONE)]> create database mytest;   //创建mytest数据库

MariDB[(NONE)]> show database;        //查看所有数据库

MariaDB[(NONE)]> use mysql;  //切换到mysql数据库

MariaDB[(mysql)]> after user 'root'@'localhost' identified by '123456';  //修改root用户在本地登录的密码;
MariaDB[(mysql)]> create user 'JUNE'@'%' identified by '123456'; //创建超级管理用户'JUNE'并设置访问权限 '%'-所有情况下都能访问 'localhost'-本机才能访问 '111.222.33.44'-指定ip才能访问

MariaDB[(mysql)]> grant all privileges on *.* to 'JUNE'@'%' identified by '123456' with grant option;
//授权JUNE拥有所有数据库和表的权限并且可以授权
MariaDB[(mysql)]> grant SELECT,UPDATE on mytest.* to 'JUNE'@'%'; //只授权JUNE拥有mytest数据库下所有表的SELECT,UPDATE的权限
MariaDB[(mysql)]> SHOW GRANTS FOR 'JUNE'@'%' //查看用户JUNE获得的授权 MariaDB[(mysql)]> REVOKE ALL PRIVILEGES ON 'mytest'.* from 'JUNE'@'%' //撤销用户JUNE在mytest数据库的所有权限 MariaDB[(mysql)]> flush privileges;      //刷新权限
MariaDB[(mysql)]> exit; //退出

 

二,修改MariaDB默认端口号

MySQL/MariaDB的默认端口号是3306,以下为修改MariaDB端口号的方案

首先是编辑配置文件 /etc/my.cnf 将[mysqld]下面的port修改为3308即可(端口号随意改只要不与其他程序冲突即可)

# vim /etc/my.cnf 

  vim编辑器的使用可参考  vi/vim的使用

[client]
port            = 3306
socket          = /tmp/mysql.sock
[mysqld]
port            = 3308
socket          = /tmp/mysql.sock
skip-external-locking
log-error=/alidata/log/mysql/error.log
key_buffer_size = 16M

 修改完毕后保存退出,重启数据库服务

systemctl restart mysqld

  执行 systemctl status mariadb 查看mariadb的状态就可以看到port已成功更改!

改完配置文件后要开放防火墙的3308端口

开启端口

# firewall-cmd --zone=public --add-port=3308/tcp --permanent

命令含义:

--zone #作用域

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent  #永久生效,没有此参数重启后失效

开启端口后需要重启防火墙:

# systemctl restart firewalld

  查看已经开放的端口,这时就可以看到3308/tcp已经打开

# firewall-cmd --list-ports

  

三,设置数据库字符集

mariadb(mysql)数据库在存储数据时,默认编码为latinl,当存储数据为中文字符时,在显示或者web调用会出现乱码的问题,需修改默认字符集为UTF-8.

注意:

  • 先修改配置文件,重启数据库服务,然后再创建数据库数据表插入中文数据,则中文字符可正常显示;
  • 若先创建数据库数据表插入中文数据,然后才修改配置文件,重启数据库服务,则中文字符将依然显示为乱码;

登录mariadb数据库,查看数据库字符集。

# mysql -u root  -p
输入root密码后进入
MariaDB [(none)] >  show variables like '%char%';

  

使用vim /etc/my.cnf  命令编辑 /etc/my.cnf 文件内容,在[mysqld]标签下添加以下内容

character-set-server=utf8 

  配置完成后重启mariadb

systemctl restart mariadb

  之后再进入mariadb查看字符集,显示为:

+--------------------------+----------------------------+
| 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)

至此结束!

posted @ 2021-06-09 16:32  墨染暖栀  阅读(293)  评论(0编辑  收藏  举报
/* 看板娘 */ /* 粒子吸附*/