关系型数据库服务器-MariaDB
关系型数据库服务器-MariaDB
:::note
由于MariaDB数据库是MySQL数据库的另一个分支,因此不能将MySQL和MariaDB安装在同一操作系统中,如果这样做了,会导致数据库无法正常启动。
:::
概述
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性。比如微秒的支持、线程池、子查询优化、组提交、进度报告等。
配置环境
116在root权限下执行如下命令,停止并关闭防火墙。
systemctl stop firewalld
systemctl disable firewalld
117执行如下命令,修改SELINUX为disabled。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
118执行如下命令,创建组、用户和密码。
groupadd mysql
useradd -g mysql mysql
passwd mysql
119搭建数据盘。
(5)执行如下命令,创建分区(以“/dev/vdb”为例,请根据实际情况创建)。
fdisk /dev/vdb
输入n,按回车确认;
输入p,按回车确认;
输入1,按回车确认;
#采用默认配置,按回车确认;
输入w,按回车保存。
(6)执行如下命令,创建文件系统(以xfs为例,请根据实际情况创建)。
mkfs.xfs /dev/vdb1
(7)执行如下命令,挂载分区到“/data”以供操作系统使用。
mkdir /data
mount /dev/vdb1 /data
(8)执行如下命令,编辑“/etc/fstab”文件,在文件末尾新增如图4.26所示内容,使系统重启后自动挂载数据盘(“/dev/vdb1”为示例,具体名称以实际情况为准)。
vi /etc/fstab
#After editing this file,run 'systemctl daemon-reload' to update systemd
units generated from this file.
defaults /dev/mapper/use-root ext4 11 UUID=ff5d51ad-8d78-41ad-960a-d6 foc88961c1 /boot ext4 defaults 12 vfat UUID=329A-28D1 /boot/efi umask0077,shortname=winnt02 /dev/mapper/use-swap swap swap defaults 00 /data xfs defaults12 /dev/vdb1 [mysqlalocalhost ~]s)
120执行如下命令,创建数据库目录并且授权。
mkdir -p /data/mariadb
cd /data/mariadb
mkdir data tmp run log
chown -R mysql:mysql /data
安装过程
121以root用户执行如下命令,安装mariadb包。
dnf install mariadb-server
122执行如下命令,启动mariadb服务。
systemctl start mariadb.service
123执行如下命令,查看服务状态。
systemctl status mariadb.service
Active:active (running) since Sat 2020-05-23 04:19:54 EDT;8min ago Docs:man :mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process:46165ExecStartPost/usr/libexec/mysg-check-upgrade (code=exited,status=0/SUCCESS) Process:46030 ExecStartPre=/usr/libexec/mysq -prepare -db-dir mariadb.service (code=exited, status=0/SUCCESS) Process:46006ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID:46133 (mysqld) Status:"Taking your SQL requests now... Tasks:31 (Limit: 11337) Memory: 77.1M CGroup:/system.sice/mariadb,service 46133 /usr/libexec/mysqld --basedir=/usr May23 04:19:54 Localhost.localomain mysq-prepare-db-dir[46030]:Please report any problems at http://mariadb.org/jira May 23 04:19:54 ocalhost,localdomain mysq-prepared-ir(4603):The latest nforation about ariaB is availabe at http://mariadb.org/. May 23 04:19:54 ocahost.localdomain ysq-prepare-d-dir[46030]:You can find additional information about the MySQL part at May23 04:19:54 Localhost. localdomain mysql-prepare-db-dir[46030]:http://dev.mysql.com May2304:19:54 Locahost.Localomain ysq-prepareb-d[4603]onsderjoining MariaDBs strong and vibrant community May23 04:19:54 Localhost.localdomain mysq-prepare-db-dir[46030]:https://mariadb.org/get-involved/ May 2304:19:54 Localhost. lLocaldomain mysqld[46133]:2020-05-23 4:19:540[Note]/usr/libexec/mysgld (mysgLd 10.3.17-MariaDB)starting as process 46133... 4:19:540[Warning]Could not increase number of max open files to more than 1024 (request:4183) May23 04:19:54 Localhost. Localdomain mysqLd[46133]:2020-05-23 May2304:19:54 Localhost.localdomain mysqLd[46133]:2020-05-23 4:19:540[Warning] Changed limits: max_open_files:1024 max_connections:151 (was 151) table_c May 23 04:19:54 localhost. Localdomain systemd[1]:Started MariaDB 10.3 database server. Lines 1-25/25 (END))
功能测试
124以root用户执行如下命令,开启mariadb服务。
systemctl start mariadb
125以root用户执行如下命令,初始化数据库。
/usr/bin/mysql_secure_installation
:::note
命令执行过程中需要输入数据库的root设置的密码,若没有密码则直接按“Enter”键,然后根据提示及实际情况进行设置。
:::
126执行如下命令,登录数据库,密码为上一步骤中设置的密码。
mysql -u root -p
Type 'help;"or 'h' for help.Type'c' to clear the current input statement.)
127执行如下命令,创建用户。
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
:::note
■username:用户名。
■host:主机名,即用户连接数据库时所在的主机的名字。若是本地用户可用localhost,若在创建的过程中未指定主机名,则主机名默认为“%”,表示一组主机。
■password:用户的登录密码。密码可以为空,如果为空则该用户可以不需要密码登录服务器,但从安全的角度而言,不推荐这种做法。 :::

128执行如下命令,查看用户。
SELECT USER,HOST,PASSWORD FROM mysql.user;
USER HOST PASSWORD Localhost *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 root root LocaLhost. Localdomain *23AE809DDACAF96AFOFD78ED04B6A265E05AA257 root 127.0.0.1 *23AE809DDACAF96AFOFD78ED04B6A265E05AA257 root ::1 *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 userexample1| Localhost *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 5 rowsin set (0.000sec) MariaDB [(none)]>)
129执行如下命令,进行用户授权。
GRANT privileges ON databasename.tablename TO 'username'@'hostname';
:::note
■ON子句:用于指定权限授予的对象和级别。
■privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所有的权限则使用ALL。
■databasename:数据库名。
■tablename:表名。
■TO子句:用来设定用户密码,以及指定被赋予权限的用户。
■username:用户名。
■hostname:主机名。
■如果要授予该用户对所有数据库和表的相应权限,参考如下示例。 :::
TO 'userexample1'@"localhost Query OK,0 rows affected (0.000sec) MariaDB [(none)]>)
130执行如下命令,创建数据库。
CREATE DATABASE databaseexample;
Query OK,1 row affected (0.001 sec) MariaDB [(none)}>)
131执行如下命令,查看数据库。
SHOW DATABASES;
Database databaseexample information_schema mysql performance_schema test 5 rows in set (0.000sec) MariaDB [(none)1>)
132执行exit命令,退出数据库。
Bye [rootaLocalhost Log]#)
No comments to display
No comments to display