配置与管理数据库服务器(MariaDB)

配置与管理数据库服务器(MariaDB)

数据库管理系统(DBMS):用户与操作系统(os)之间的一层数据管理软件

1,mariadbc的安装

shell 复制代码
[root@localhost ~]# yum -y install mariadb-server mariadb-client
[root@localhost ~]# rpm -qa |grep mariadb
mariadb-5.5.68-1.el7.x86_64
mariadb-server-5.5.68-1.el7.x86_64
mariadb-libs-5.5.68-1.el7.x86_64
#启动mariadb数据库
[root@localhost ~]# systemctl start mariadb
#设置开机自启
[root@localhost ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
#查看开机自启
[root@localhost ~]# systemctl list-unit-files |grep mariadb
mariadb.service                               enabled 
//enable:自启		//disabled:不自启

2,mariadb的配置

shell 复制代码
1	#刚开始是无密码登录
[root@localhost ~]# mysql -uroot -p
2	#配置mariadb安全设置
[root@localhost ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 		#直接回车
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y			#设置root密码
New password: 						#1
Re-enter new password: 				#1
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y		#删除匿名用户
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n		#不删除远程连接
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y		#删除test库和对test库的访问权限
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y			#刷新授权表使修改生效
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!


3	#配置mariadb的字符集
查看/etc/my.cnf.d中的includedir /etc/my.cnf.d,说明配置文件中引入改该目录下的配置文件
[root@localhost ~]# vim /etc/my.cnf.d/server.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)配置/etc/my.cnf.d/client.cnf
[root@localhost ~]# vim /etc/my.cnf.d/client.cnf
[client]
default-character-set=utf8
(3)配置/etc/my.cnf.d/mysql-clients.cnf 
[root@localhost ~]# vim /etc/my.cnf.d/mysql-clients.cnf 
[mysql]
default-character-set=utf8
(4)重启mariadb服务
[root@localhost ~]# systemctl restart mariadb
(5)进入mariadb查看字符集
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)


4	#为其他主机远程连接数据库开放访问权限
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> grant all privileges on *.* to root@"%" identified by "1";		#%任何主机都可以连数据库
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> select host,user,password from user;
+-----------------------+------+-------------------------------------------+
| host                  | user | password                                  |
+-----------------------+------+-------------------------------------------+
| localhost             | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| localhost.localdomain | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| 127.0.0.1             | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| ::1                   | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| %                     | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
+-----------------------+------+-------------------------------------------+
5 rows in set (0.00 sec)
# %表示任何主机都被允许连接数据库
#登录时要关闭防火墙和Selinux服务
#查看帮助信息;help+命令字;例
MariaDB [(none)]> help create database;

#远程连接
mysql -h IP地址 -u root -p

#库的相关操作
create;show;drop;(增,查,删)

#表的相关操作
create;insert;select;update;delete;drop(增,插,查,改,删数据,删表)

#查看客户端帮助信息的命令
MariaDB [mysql]> help

#查看服务端帮助信息的命令
MariaDB [mysql]> help contents;
相关推荐
代码什么用1 小时前
Spring对IoC的实现
数据库·spring
运维行者_1 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
hz567893 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC3 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday3 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
优橙教育3 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
半杯咖啡半行码3 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
AIgorithmGEEK3 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2084 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)4 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障