配置与管理数据库服务器(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;
相关推荐
luckyext3 分钟前
SQL SERVER常用聚合函数整理及示例
运维·服务器·数据库·sql·mysql·sqlserver·mssql
liulilittle22 分钟前
Ubuntu 18.04 升级内核到 5.X(< 5.10)
linux·运维·服务器·ubuntu
时序数据说25 分钟前
时序数据库IoTDB的分片与负载均衡策略深入解析
大数据·数据库·开源·负载均衡·时序数据库·iotdb
怡雪~36 分钟前
redis的主从复制
数据库·redis·缓存
篱笆院的狗43 分钟前
Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么?
数据库·redis·缓存
两袖清风9981 小时前
【MySQL】 数据库基础&数据类型
数据库·mysql
唐可盐1 小时前
第八章:数据库查询优化
数据库
啾啾Fun1 小时前
【Redis】1-高效的数据结构P3-压缩列表与对象
数据结构·数据库·redis
数据要素X2 小时前
【数据架构07】数据智能架构篇
大数据·数据库·数据仓库·人工智能·架构
gkdpjj2 小时前
Linux网络 网络基础一
linux·服务器·开发语言·网络·后端·智能路由器·软件工程