第二步 编译安装mariadb数据库环境
1、Mariadb数据库概述
Mariadb是开源的关系型数据库服务器软件
目前由SUN公司开发和维护
官方站点:https://mariadb.org/
Mariadb的特点
多线程、多用户
基于客户/服务器架构
简单易用
查询速度快
安全可靠
2、安装前准备工作
[root@localhost packages]# dnf remove -y mariadb mariadb-server #卸载已安装的mariadb服务
[root@localhost packages]# yum install -y cmake gcc-c++ libstdc++-* ncurses-devel libaio* bison ncurses-devel openssl-devel openssl gcc-c++ cmake
[root@localhost packages]# mkdir -p /usr/local/mysql #创建需要的文件夹
[root@localhost packages]# mkdir -p /var/run/mysqld
[root@localhost packages]# mkdir -p /var/lib/mysql
[root@localhost packages]# which nologin #创建用户以及用户组
/usr/sbin/nologin
[root@localhost packages]# groupadd mysql
[root@localhost packages]# useradd -g mysql -d /usr/local/mysql/ -s /usr/sbin/nologin mysql
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@localhost packages]# chmod 777 -R /var/lib/mysql/ /var/run/mysqld/ /usr/local/mysql/ #文件夹读写权限
[root@localhost packages]# chown mysql:mysql -R /var/lib/mysql/ /var/run/mysqld/ /usr/local/mysql/
3、解压mariadb安装包
[root@localhost packages]# tar -xvf /app/packages/mariadb-10.5.6.tar.xz -C /app/
4、编译选项参考
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITHOUT_TOKUDB=1 #编译选项详见mariadb的说明文档
5、开始编译安装
[root@localhost mariadb-10.5.6]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITHOUT_TOKUDB=1
[root@localhost mariadb-10.5.6]# make && make install #编译安装时间会有点长
6、安装后的配置
[root@localhost mariadb-10.5.6]# export PATH=$PATH:/usr/local/mysql/bin #环境变量
[root@localhost mariadb-10.5.6]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock #初始化
#设置开机启动
[root@localhost mysql]# cp -rf support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 777 /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[root@localhost /]# cd /usr/local/mysql/
[root@localhost mysql]# chmod -R 777 data
[root@localhost mysql]# mysqld_safe --datadir='/usr/local/mysql/data'
201204 02:05:33 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
201204 02:05:34 mysqld_safe Starting mariadbd daemon with databases from /usr/local/mysql/data
7、开启服务
[root@localhost mysql]# systemctl start mysql
8、登录以及退出
[root@localhost mysql]# mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.5.6-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> quit
Bye
mysql -u root [-p] 未指定-p时表示不需要密码登录
退出可以使用exit quit
9、数据库的简单使用
查看数据库列表信息
SHOW DATABASES
查看数据库中的数据表信息
USE 数据库名
SHOW TABLES
显示数据表的结构
DESCRIBE [数据库名.表名]
创建新的数据库
CREATE DATABASE 数据库名
创建数据表
CREATE TABLE 表名 (字段定义...)
删除数据表
DROP TABLE [数据库名.表名]、
删除数据库
DROP DATABASE [数据库名]
向数据表中插入记录
INSERT INTO 表名(字段1, 字段2, ……) VALUES(字段1的值, 字段2的值, ……)
从数据库中查找
SELECT 字段名1,字段名2 …… FROM 表名 WHERE 条件表达式
修改、更新数据表中的数据记录
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 条件表达式
在数据表中删除指定的数据记录
DELETE FROM 表名 WHERE 条件表达式
10、数据库维护
备份数据库
[root@localhost ~]# mysqldump -u root -p auth > mysql-auth.sql #备份auth库
Enter password:
[root@localhost ~]# mysqldump -u root -p --all-databases > mysql-all.sql #备份所有库
[root@localhost ~]# ls -l mysql-*.sql
-rw-r--r-- 1 root root 292300 09-17 04:55 mysql-all.sql
-rw-r--r-- 1 root root 1678 09-17 04:55 mysql-auth.sql
从备份中恢复
[root@localhost ~]# mysql -u root -p auth < mysql-auth.sql #恢复auth库
[root@localhost ~]# mysql -u root -p < mysql-all.sql #恢复所有库
注:构建服务所需的包可在server_source_2020.iso 请自行下载,您也可以在所需安装包官网下载 本地源配置、防火墙、selinux等是linux较为基础的内容,不再赘述。 本文均为原创,如需与博主交流可email至mufeng.yu@qq.com