ContOS8 配置MariaDB

  • A+
所属分类:linux技术
摘要

导语:该篇文章主要记录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%'; 

  ContOS8 配置MariaDB

使用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)

至此结束!