1、上传MariaDB 10.7.3二进制包到/usr/local/src目录下

# cd /usr/local/src/
# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring mariadb-10.7.3-linux-systemd-x86_64.tar.gz...100%  338007 KB    24143 KB/sec    00:00:14       0 Errors  # ll
-rw-r--r-- 1 root root 346120004 Apr 11 03:12 mariadb-10.7.3-linux-systemd-x86_64.tar.gz

2、解压包,并将解压后的目录移动到/usr/local/mysql目录下

# tar -xzf mariadb-10.7.3-linux-systemd-x86_64.tar.gz
# mv mariadb-10.7.3-linux-systemd-x86_64 /usr/local/mysql
# cd ../mysql
# ls
bin  COPYING  CREDITS  include  INSTALL-BINARY  lib  man  mysql-test  README.md  README-wsrep  scripts  share  sql-bench  support-files  THIRDPARTY

3、创建数据目录

# mkdir -p /data/mysql

4、创建mysql用户和组,并为目录赋mysql用户和组权限

# groupadd mysql
# useradd -d /data/mysql -g mysql mysql
# chown -R mysql.mysql /data/mysql /usr/local/mysql

5、安装MariaDB

# cd /usr/local/mysql
# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --skip-name-resolve --user=mysql
Installing MariaDB/MySQL system tables in '/data/mysql' ...
OKTo start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your systemTwo all-privilege accounts were created.
One is root@localhost, it has no password, but you need to
be system 'root' user to connect. Use, for example, sudo mysql
The second is mysql@localhost, it has no password either, but
you need to be the system 'mysql' user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudoSee the MariaDB Knowledgebase at https://mariadb.com/kbYou can start the MariaDB daemon with:
cd '/usr/local/mysql' ; /usr/local/mysql/bin/mysqld_safe --datadir='/data/mysql'You can test the MariaDB daemon with mysql-test-run.pl
cd '/usr/local/mysql/mysql-test' ; perl mysql-test-run.plPlease report any problems at https://mariadb.org/jiraThe latest information about MariaDB is available at https://mariadb.org/.Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/# cd /data/mysql/
# ll
total 111020
-rw-rw---- 1 mysql mysql    409600 Apr 14 03:10 aria_log.00000001
-rw-rw---- 1 mysql mysql        52 Apr 14 03:10 aria_log_control
-rw-rw---- 1 mysql mysql       942 Apr 14 03:10 ib_buffer_pool
-rw-rw---- 1 mysql mysql  12582912 Apr 14 03:10 ibdata1
-rw-rw---- 1 mysql mysql 100663296 Apr 14 03:10 ib_logfile0
drwx------ 2 mysql mysql      4096 Apr 14 03:10 mysql
-rw-r--r-- 1 root  root         14 Apr 14 03:10 mysql_upgrade_info
drwx------ 2 mysql mysql        20 Apr 14 03:10 performance_schema
drwx------ 2 mysql mysql      8192 Apr 14 03:10 sys
drwx------ 2 mysql mysql        20 Apr 14 03:10 test

6、创建配置文件my.cnf

# cd /etc/
# ls -ltr my.cnf
-rw-r--r--. 1 root root 570 Sep 30  2020 my.cnf
# mv my.cnf my.cnf.backup
# vi my.cnf

以下为my.cnf的具体配置

[client]
port    = 3306
socket  = /tmp/mysql.sock

[mysqld]
port    = 3306
socket  = /tmp/mysql.sock
user    = mysql
basedir = /usr/local/mysql
datadir = /data/mysql
log_error = /data/mysql/mysql.err
pid-file  = /data/mysql/mysql.pid

# 禁用DNS解析,使用IP访问的情况下加快访速度。
skip_name_resolve
skip-external-locking
#skip-networking

# 关闭认证,取消注释,可重置 root 密码
# skip-grant-tables

# 这个参数用来缓存MyISAM存储引擎的索引参数。MySQL5.5默认为InnoDB存储引擎,所以这个参数可以设置小点,64MB即可。
key_buffer_size = 64M

# 每个连接传输数据大小.最大1G,须是1024的倍数,一般设为最大的BLOB的值。
# 允许最大接收数据包的大小,防止服务器发送过大的数据包。可以设置为16MB或者更大,但设置的太大也可能有危险。
max_allowed_packet = 4M

# MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。
# 默认值64,假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件描述符数目);
# 当把table_open_cache设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上。
table_open_cache = 256

# 排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序。
# 在表进行order by和group by排序操作时,由于排序的字段没有索引,会出现Using filesort,为了提高性能,可用此参数增加每个线程分配的缓冲区大小。
# 默认为256KB,这个参数不要设置过大,一般在128~256KB即可。另外,一般出现Using filesort的时候,要通过增加索引来解决。
sort_buffer_size = 1M

# 不带索引的全表扫描.使用的buffer的最小值
join_buffer_size = 16M

# 包消息缓冲区初始化为net_buffer_length字节,但需要时可以增长到max_allowed_packet字节。
net_buffer_length = 8K

# 该参数用于表的顺序扫描,表示每个线程分配的缓冲区大小。
# 比如在进行全表扫描时,MySQL会按照数据的存储顺序依次读取数据块,每次读取的数据块首先会暂存在read_buffer_size中
# 当buffer空间被写满或者全部数据读取结束后,再将buffer中的数据返回给上层调用者,以提高效率。
# 默认为128K,这个参数不要设置过大,一般在128~256之间。
read_buffer_size = 1M

# 该参数用于表的随机读取,表示每个线程分配的缓冲区大小。
# 比如,按照一个非索引字段做order by排序操作时,就会利用这个缓冲区来暂存读取的数据。
# 默认为256KB,这个参数不要设置过大,一般在128~512KB。
read_rnd_buffer_size = 512K

# 当对MyISAM表执行repair table或创建索引时,用以缓存排序索引;设置太小时可能会遇到” myisam_sort_buffer_size is too small”
myisam_sort_buffer_size = 16M

# 线程池,线程缓存。用来缓存空闲的线程,以至于不被销毁,如果线程缓存在的空闲线程,需要重新建立新连接,则会优先调用线程池中的缓存,很快就能响应连接请求。
# 每建立一个连接,都需要一个线程与之匹配。
thread_cache_size = 32

# 查询缓冲大小
# 缓存select语句和结果集大小的参数。
# 查询缓存会存储一个select查询的文本与被传送到客户端的相应结果。
# 如果之后接收到一个相同的查询,服务器会从查询缓存中检索结果,而不是再次分析和执行这个同样的查询。
# 如果你的环境中写操作很少,读操作频繁,那么打开query_cache_type=1,会对性能有明显提升。
# 如果写操作频繁,则应该关闭它(query_cache_type=0)。
query_cache_size = 32M

# 指定单个查询能够使用的缓冲区大小,缺省为1M
query_cache_limit = 4M

# 临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。
tmp_table_size = 64M

# 设定默认的事务隔离级别
transaction_isolation = REPEATABLE-READ

# 线程使用的堆大小. 此值限制内存中能处理的存储过程的递归深度和SQL语句复杂性,此容量的内存在每次连接时被预留.
thread_stack = 512K

# 指定一个请求的最大连接时间
wait_timeout = 10

# 是否显示默认时间戳。
explicit_defaults_for_timestamp = true

# 该参数用来设置最大连接数,告诉你当前你的服务器允许多少并发连接。
# 默认为100,一般设置为512-1000即可。请记住,太多的连接会导致内存的使用量过高并且会锁住你的 MySQL 服务器。
# 一般小网站需要 100-200 的连接数,而较大可能需要 500-800 甚至更多。这里的值很大程度上取决于你 MySQL/MariaDB 的使用情况。
max_connections = 500

# 每个客户端连接最大的错误允许数量,当超过该次数,MYSQL服务器将禁止此主机的连接请求,直到MYSQL服务器重启或通过flush hosts命令清空此主机的相关信息
# 如果有时网络抽风,或者应用配置错误,或者其他原因导致客户端短时间内不断的尝试连接,客户端可能会被列入黑名单,然后将无法连接,直到再次刷新主机缓存。
# 这个选项默认值太小了,可以考虑设的足够大(如果你的服务器配置够强大的话)。
max_connect_errors = 100

# mysql打开最大文件数
open_files_limit = 65535

# 是操作系统在监听队列中所能保持的连接数
back_log = 300

# 开启二进制日志功能,若不指定路径则默认和数据存放在同一目录,生产环境强烈建议将MySQL日志和数据分开存放。
log-bin=mysql-bin

# 指定默认的二进制日志格式。
binlog_format=mixed

# 给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用二进制日志功能。在复制数据同步的时候会用到,Helloweba后面会有文章介绍。
server-id   = 1

# 启用二进制日志后,保留日志的天数。服务器会自动清理指定天数前的日志文件,如果不设置则会导致服务器空间耗尽。一般设置为7~14天。
expire_logs_days = 10

# 用 InnoDB 作为默认引擎
# 新数据表的默认存储引擎(默认设置是MyISAM)。这项设置还可以通过–default-table-type选项来设置。
default_storage_engine = InnoDB

# 打开独立表空间
# InnoDB 提供了更灵活的方式,它把每个数据库的信息保存在一个 .ibd 数据文件中。每个 .idb 文件代表它自己的表空间。
# 通过这样的方式可以更快地完成类似 “TRUNCATE” 的数据库操作,当删除或截断一个数据库表时,你也可以回收未使用的空间。
# 这样配置的另一个好处是你可以将某些数据库表放在一个单独的存储设备。这可以大大提升你磁盘的 I/O 负载。
innodb_file_per_table = 1

# InnoDB主目录,所有与InnoDB数据表有关的目录或文件路径都相对于这个路径。在默认的情况下,这个主目录就是MySQL的数据目录。
innodb_data_home_dir = /data/mysql

# 用来容纳InnoDB为数据表的表空间: 可能涉及一个以上的文件; 每一个表空间文件的最大长度都必须以字节(B)、兆字节(MB)或千兆字节(GB)为单位给出;
# 表空间文件的名字必须以分号隔开; 最后一个表空间文件还可以带一个autoextend属性和一个最大长度(max:n)
innodb_data_file_path = ibdata1:10M:autoextend

# 用来存放InnoDB日志文件的目录路径(如ib_logfile0、ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使用 MySQL数据目录作为自己保存日志文件的位置。
innodb_log_group_home_dir = /data/mysql

# InnoDB使用一个缓冲池来保存索引和原始数据, 可设置这个变量到服务器物理内存大小的80%
# 这个参数是InnoDB存储引擎的核心参数,默认为128KB,这个参数要设置为物理内存的60%~70%。
innodb_buffer_pool_size = 2048M

# 在InnoDb核心内的允许线程数量,建议的设置是CPU数量加上磁盘数量的两倍
innodb_thread_concurrency = 16

# 在日志组中每个日志文件的大小
# 事务日志文件写操作缓存区的最大长度(默认设置是1MB)。
innodb_log_file_size = 64M

# 用来缓冲日志数据的缓冲区的大小
# 事务日志所使用的缓存区。InnoDB在写事务日志的时候,为了提高性能,先将信息写入Innodb Log Buffer中,
# 当满足innodb_flush_log_trx_commit参数所设置的相应条件(或者日志缓冲区写满)时,再将日志写到文件(或者同步到磁盘)中。
# 可以通过innodb_log_buffer_size参数设置其可以使用的最大内存空间。
# 默认是8MB,一般为16~64MB即可。
innodb_log_buffer_size = 8M

# 在日志组中的文件总数
innodb_log_files_in_group = 3

# 这个选项决定着什么时候把日志信息写入日志文件以及什么时候把这些文件物理地写(术语称为”同步”)到硬盘上。
# 设置值0的意思是每隔一秒写一次日 志并进行 同步,这可以减少硬盘写操作次数,但可能造成数据丢失;
# 设置值1(设置设置)的意思是在每执行完一条COMMIT命令就写一次日志并进行同步,这可以防止数据丢失,但硬盘写操作可能会很频繁;
# 设置值2是一般折衷的办法,即每执行完一条COMMIT命令写一次日志,每隔一秒进行一次同步。
innodb_flush_log_at_trx_commit = 1

# SQL语句在被回滚前,InnoDB事务等待InnoDB行锁的时间
# 如果某个事务在等待n秒(s)后还没有获得所需要的资源,就使用ROLLBACK命令放弃这个事务。
# 这项设置对于发现和处理未能被InnoDB数据表驱动 程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是50s。
innodb_lock_wait_timeout = 50

# 慢查询时长
long_query_time = 2

# 将没有使用索引的查询也记录下来
log-queries-not-using-indexes

# 指定服务端默认字符集
character-set-server=utf8mb4

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
# 指定客户端默认字符集
default-character-set=utf8mb4

# 不适用自动补全
no-auto-rehash

[myisamchk]
key_buffer_size = 64M
sort_buffer_size = 1M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

7、将服务配置复制到系统目录下

# cd /usr/local/mysql
# cp support-files/systemd/mariadb.service /usr/lib/systemd/system/

这里,需要修改mariadb.service的一处配置,否则服务启动后会出现下面的报错

[/usr/lib/systemd/system/mariadb.service:65] Unknown lvalue 'ReadWritePaths' in section 'Service'

# ReadWritePaths=-/usr/local/mysql/data  // 将此默认配置注释,增加下面的一行配置

ReadWritePaths=-/data/mysql                    // 数据目录以本地实际配置为准

8、启动MariaDB服务

# systemctl daemon-reload
# systemctl enable mariadb.service
# systemctl start mariadb.service
# systemctl status mariadb.service
● mariadb.service - MariaDB 10.7.3 database serverLoaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)Active: active (running) since Thu 2022-04-14 03:46:49 EDT; 31min agoDocs: man:mariadbd(8)https://mariadb.com/kb/en/library/systemd/Process: 1948 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)Process: 1772 ExecStartPre=/bin/sh -c [ ! -e /usr/local/mysql/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/local/mysql/bin/..; /usr/local/mysql/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)Process: 1769 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)Main PID: 1929 (mariadbd)Status: "Taking your SQL requests now..."CGroup: /system.slice/mariadb.service└─1929 /usr/local/mysql/bin/mariadbdApr 14 03:46:49 centos-7.9 systemd[1]: Starting MariaDB 10.7.3 database server...
Apr 14 03:46:49 centos-7.9 mariadbd[1929]: 2022-04-14  3:46:49 0 [Note] /usr/local/mysql/bin/mariadbd (server 10.7.3-MariaDB-log) starting as process 1929 ...
Apr 14 03:46:49 centos-7.9 systemd[1]: Started MariaDB 10.7.3 database server.

9、将mysql的bin目录添加到系统环境变量文件中

在/root/.bash_profile文件中增加mysql bin目录的路径配置PATH=$JAVA_HOME/bin:$PATH:/usr/local/mysql/bin:$HOME/bin配置结束后,执行下面的命令,即可生效
# source .bash_profile

10、连接mysql测试

# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.7.3-MariaDB-log MariaDB ServerCopyright (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)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.001 sec)MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| column_stats              |
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| global_priv               |
| gtid_slave_pos            |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| index_stats               |
| innodb_index_stats        |
| innodb_table_stats        |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| roles_mapping             |
| servers                   |
| slow_log                  |
| table_stats               |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| transaction_registry      |
| user                      |
+---------------------------+
31 rows in set (0.001 sec)MariaDB [mysql]> 

11、为root用户设置密码

MariaDB [mysql]> set password for root@localhost=password('YOUR_PASS_WORD');
Query OK, 0 rows affected (0.001 sec)MariaDB [mysql]> select user,host,password from mysql.user;
+-------------+------------+-------------------------------------------+
| User        | Host       | Password                                  |
+-------------+------------+-------------------------------------------+
| mariadb.sys | localhost  |                                           |
| root        | localhost  | *4748D6D32092AA94E0407B974B2DE7C67B5C63F4 |
| mysql       | localhost  | invalid                                   |
|             | localhost  |                                           |
|             | centos-7.9 |                                           |
+-------------+------------+-------------------------------------------+
5 rows in set (0.002 sec)

12、使用root用户和密码测试登录

# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.7.3-MariaDB-log MariaDB ServerCopyright (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)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.000 sec)

【MariaDB】MariaDB 10.7.3二进制包安装相关推荐

  1. MariaDB的二进制包安装方法

    软件包的安装方式有三种:源码包安装.二进制包安装.rpm包安装.这三种安装方法都各有优劣.RPM安装:适合小环境,核心功能都具备,快速搭建环境,但它的版本一般都不会太高:二进制安装:它是发布出来时预先 ...

  2. mysql5.7.10 二进制包_mysql 32 位安装教程mysql5.7 二进制包安装

    1. 下载包 wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz 2. 解压 ...

  3. centos6.5 mysql5.6.24 单实例二进制包安装

    线上部署考虑因素: 版本选择,5.1.5.5还是5.6? 5.1官方已不再维护,不建议 5.5是现在线上使用最多的版本 5.6最新的稳定版,已发布3年多,现在使用的也很多 分支选择,官方社区版?per ...

  4. etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具etcdkeeper)

    1. 使用 apt 或 yum 安装 etcd 命令如下: sudo apt-get install etcd 或者 sudo yum install etcd 这样安装的缺点是:安装的 etcd 版 ...

  5. 二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) 1 [root@Mysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径 ...

  6. 二进制包 mysql_二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) [root@Mysql_server ~]# mkdir -p /home/zhurui/tools  ##创建指定工具包存放路径 ...

  7. mysql5.7二进制包安装

    2019独角兽企业重金招聘Python工程师标准>>> mysql5.7二进制包安装 shell> groupadd mysql shell> useradd -r -g ...

  8. centos改变文件拥有者_每天学点之CentOS软件二进制包安装

    在Linux中需要根据不同的需求安装不同的软件服务.在Linux中,软件包分类两种源码包安装与二进制包安装. 一.优缺点: 优点:安装过程简单快速 缺点:无法查看源代码.选择功能不灵活.有依赖性(需要 ...

  9. Linux下二进制包安装postgresql10.4

    因为是二进制包安装,所以我下载的是postgresql-10.4-1-linux-x64-binaries.tar.gz 1.若没有postgres用户组,就先创建postgres用户组 groupa ...

最新文章

  1. 标准K-means算法的缺陷、K-mean++初始化算法、初始化算法步骤、Kmeans++算法实现
  2. android ndk 编译c++11,Android NDK的C++11标准支持
  3. Vue:触发视图更新的hack
  4. 使用 OAuth2-Server-php 搭建 OAuth2 Server
  5. jython mysql_Jython
  6. 同底数幂比较大小方法_知识体系构建:初中数学4大知识点及10大解题方法总结(干货)...
  7. python定制框架知识点_python框架中flask知识点总结
  8. java初学试题_JAVA 适合初学者的试题?
  9. Web常用字體-Font-Family
  10. pyqt5 python2.7_python2.7 安装pyqt5
  11. VMware Workstation下减小ubuntu系统占用系统盘大小
  12. 前端----JQuery
  13. Macbook M1电脑安装svn及使用
  14. 计算机网络第七版-《软件工程》试题(第4套含答案)
  15. 在拼多多上班,是一种什么样的体验?我心态崩了呀!
  16. web前端@css选择器
  17. Linux下定时备份数据库
  18. 待嫁闺中:PPTV的辛酸史
  19. 计算机如何增加c盘容量,怎么给c盘增加空间 c盘增加空间步骤【图文】
  20. 测开学习篇-html

热门文章

  1. 根据曲线曲率计算该曲率(曲线图)的积分
  2. 新浪股票接口 java_新浪股票接口Android SDK(非官方)
  3. easyui edatagrid 保存400错误
  4. Centos7设置欢迎语,登录后自动执行指定的命令,脚本等
  5. 虚拟主机怎么做云服务器,云服务器怎么弄成虚拟主机
  6. java微信端html_H5微信网页授权java后端SpringBoot实现
  7. 高通简单的启动流程说明
  8. OSX 安装MacTex Emacs+Auctex
  9. RN开发系列<*>--问题集合
  10. virtualbox 设置桥接模式