背景:
CentOS7开始,数据库使用的是MariaDB数据库,而yum安装的数据库版本比较低,所以学习了在CentOS7.3版本二进制安装MariaDB-10.2.8,在此记录下安装过程,供以后参考。之所以用二进制安装主要是为了省去编译安装的时间,编译安装的时间太长。
MariaDB介绍:
MariaDB是由Mysql转变而来,Mysql在被Oracle收购后没有很好的发展,毕竟Oracle公司有自己的数据库Oracle,所以Mysql之父离开了Oracle公司后自己建立新的公司开发MariaDB,而MariaDB大有取代Mysql的趋势,现在很多大公司都在将数据库转移到MariaDB上。在CentOS7版本更是直接用MariaDB取代了Mysql。
安装步骤:
(1)准备用户
我们需要准备一个mysql用户组,组ID为306:
groupadd -r -g 306 mysql
在创建一个mysql用户,用户id为306,所属组为306:
useradd -r -g 306 -u 306 –m –d /app/data mysql
(2)准备数据库存放路径,这个目录会存放数据库的数据,会越来越大所以建议使用逻辑卷,不过这里我用一个分区下的/app/data目录做数据目录:
chown mysql:mysql /app/data 修改目录的所属者和所有组为mysql
(3)准备二进制程序
二进制程序可以去MariaDB官网下载:https://downloads.mariadb.org/
要注意下载的是二进制安装包,会比源码包大很多,毕竟是以及编译好的文件,还有就是注意Windows和Linux。
下载好后随便放在哪,然后解压缩到/usr/loacl目录下,也可以不解压缩到这个文件,不过你需要去修改很多的配置文件,因为人家默认目录就是这个,这里就最好不要修改了。
MariaDB和Mysql用法是一样的,也是用mysql命令,所以配置和启动都是和mysql相关,毕竟实质上他俩是一样的。
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/
解压完后:cd /usr/local
创建软连接:ln -sv mariadb-10.2.8-linux-x86_64 mysql
改变mysql目录及子文件的所属者和所属组:
chown -R root:mysql /usr/local/mysql/
(4)准备配置文件
创建mysql配置目录:mkdir /etc/mysql
复制配置文件:
cp /usr/loacl/mysql/support-files/my-large.cnf /etc/mysql/my.cnf
修改配置文件:
在[mysqld]中添加三个选项: datadir = /app/data 指定数据库存放目录 innodb_file_per_table = on skip_name_resolve = on 禁止主机名解析
(5)创建数据库文件
进入到mysql目录(一定是进入到这个目录,不能在进到下过目录):
cd /usr/local/mysql/ 用它准备的脚本创建数据库文件:
./scripts/mysql_install_db --datadir=/app/data --user=mysql
--datadir后接的是存放数据库的目录
--user后接的是用户
如果这一步出错可能是缺少一些库文件,根据提示安装库文件即可
(6)准备日志文件
创建日志文件:touch /var/log/mysqld.log 修改文件所有者:chown mysql /var/log/mysqld.log
(7)准备服务脚本,并启动服务
复制mysql.server到init.d下:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 添加服务:chkconfig --add mysqld 启动服务:systemctl start mysqld
(8)安全初始化
命令:/user/local/mysql/bin/mysql_secure_installatio
作用:设置账户密码和是否允许匿名登录和是否清除空帐号等等
(9)这时MariaDB服务已经开启,用户可以使用MariaDB数据库了,不过为了本机使用方便,我们还需设置PATH变量,否则使用mysql命令需要写很长的目录
在/etc/profile.d/创建一个脚本mysqld.sh
命令:vim /etc/profile.d/mysqld.sh
写入export PATH=/usr/local/mysql/bin:$PATH
:wq保存退出;加载这个配置文件
(10)使用MariaDB数据库
到此我们可以用mysql命令来连接数据库和使用数据库了
连接数据库命令:mysql -uroot -p
-uroot表示登入用户名
-p表示密码,如果没有密码可以不写,有密码可以直接跟在后面,不过不安全
本文出自 “Linux” 博客,请务必保留此出处http://13139261.blog.51cto.com/13129261/1968201
Centos7.3二进制格式安装MariaDB
标签:mariadb linux ccentos7
小编还为您整理了以下内容,可能对您也有帮助:
如何在CentOSLinux中配置MariaDB复制
这是一个创建数据库重复版本的过程。复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步。但这并不意味
这是一个创建数据库重复版本的过程。复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步。但这并不意味着从数据库就是和主数据库完全相同的副本,因为复制可以配置为只复制表结构、行或者列,这叫做局部复制。复制保证了特定的配置对象在不同的数据库之间保持一致。
Mariadb 复制概念
备份 :复制可以用来进行数据库备份。例如,当你做了主从复制。如果主节点数据丢失(比如硬盘损坏),你可以从从节点中恢复你的数据库。
扩展 :你可以使用主从复制作为扩展解决方案。例如,,如果你有一些大的数据库以及SQL查询,使用复制你可以将这些查询分离到每个复制节点。写入操作的SQL应该只在主节点进行,而只读查询可以在从节点上进行。
分发解决方案 :你可以用复制来进行分发。例如,你可以将不同的销售数据分发到不同的数据库。
故障解决方案 : 假如你建立有主节点从节点1从节点2从节点3的复制结构。你可以为主节点写脚本监控,如果主节点出故障了,脚本可以快速的将从节点1切换为新的主节点,这样复制结构变成了主节点从节点1从节点2,你的应用可以继续工作而不会停机。
复制的简单图解示范
开始之前,你应该知道什么是二进制日志文件以及 Ibdata1。
二进制日志文件中包括关于数据库,数据和结构的所有更改的记录,以及每条语句的执行了多长时间。二进制日志文件包括一系列日志文件和一个索引文件。这意味着主要的SQL语句,例如CREATE, ALTER, INSERT, UPDATE 和 DELETE 会放到这个日志文件中;而例如SELECT这样的语句就不会被记录,它们可以被记录到普通的query.log文件中。
而 Ibdata1 简单的说据是一个包括所有表和所有数据库信息的文件。
--------------------------------------分割线 --------------------------------------
在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)
MariaDB Proxy读写分离的实现
Linux下编译安装配置MariaDB数据库的方法
CentOS系统使用yum安装MariaDB数据库
安装MariaDB与MySQL并存
Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10
[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB
--------------------------------------分割线 --------------------------------------
主服务器配置
首先升级服务器
我们工作在centos7 服务器上
安装 MariaDB
启动 MariaDB 并启用随服务器启动
输出如下:
检查 MariaDB 状态
sudo service mariadb status
或者使用
输出如下:
设置 MariaDB 密码
这里 SOME_ROOT_PASSWORD 是你的 root 密码。 例如我用"q"作为密码,然后尝试登录:
输出如下:
输入 'help;' 或 'h' 查看帮助信息。 输入 'c' 清空当前输入语句。
让我们创建包括一些数据的表的数据库
创建数据库/模式
其中:
输出:如下
创建 Persons 表
输出如下:
插入一些数据
输出如下:
检查数据
输出如下:
更多详情见请继续阅读下一页的精彩内容:
linux安装mariadb数据库linux安装mariadb
linux系统怎么安装mariadb?
它的安装与MySQL的noinstall版本类似。
1.下载并解压noinstall压缩包,假设解压到D:devMariaDB目录下载地址(5.1.44b):fe.up.pt2.创建配置文件my.ini
配置文件一般放在Windows系统目录中(也可以放在你的安装目录内),如C:WINDOWS或C:WINNT,名为my.ini。将上面下载后的文件mariadb-noinstall-5.1.44b-win32-beta.zip解压后,在该文件夹中,一般包含5个MySQL自带的配置文件,my-small.ini、my-medium.ini、my-large.ini、my-huge.ini和my-innodb-heavy-4G.ini,请你根据自己机器的内存大小,选择其一,并把它重新命名为my.ini用作基本配置文件。
mariadblinux默认安装目录?
默认的数据目录是在/var/lib/mysql/
配置文件在/etc/my.cnf
centos7.2怎么安装mariadb?
yum-yinstallmariadb-servermariadbmariadb-develsystemctlstartmariadbsystemctlenablemariadbmysql_secure_installationfirewall-cmd--permanent--add-servicemysqlsystemctlrestartfirewalld.serviceiptables-L-n|grep3306
linux系统怎么安装mariadb
cd /etc/yum.repos.d/
touch MariaDB.repo
2. vi MariaDB.repo
3. 粘贴如下代码:
# MariaDB 5.5 CentOS repository list - created 2014-03-04 11:20 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=http://mirrors.ustc.edu.cn/mariadb/mariadb-5.5.43/yum/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
4. : 键入":wq" 保存退出
5. yum -y install MariaDB-server MariaDB-client #开始安装
6.安装完成,启动数据库服务
service mysql start
本文出自 “不进则退” 博客,请务必保留此出处http://merrycheng.blog.51cto.com/5331300/1652815
从库安装MariaDB方式
标签:mariadb
linux系统怎么安装mariadb
cd /etc/yum.repos.d/
touch MariaDB.repo
2. vi MariaDB.repo
3. 粘贴如下代码:
# MariaDB 5.5 CentOS repository list - created 2014-03-04 11:20 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=http://mirrors.ustc.edu.cn/mariadb/mariadb-5.5.43/yum/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
4. : 键入":wq" 保存退出
5. yum -y install MariaDB-server MariaDB-client #开始安装
6.安装完成,启动数据库服务
service mysql start
本文出自 “不进则退” 博客,请务必保留此出处http://merrycheng.blog.51cto.com/5331300/1652815
从库安装MariaDB方式
标签:mariadb
Centos7安装 mariadb启动错误解决
本人遇到mariadb 启动错误的故障解决过程分享。
故障现象 :
Centos7 使用 yum -y install mariadb mariadb-server 安装完成mariadb后启动错误。
错误信息:
[root@iZ882mt6umfZ ~]# systemctl status mariadb.service
[0m mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-03-01 09:25:54 CST; 9s ago
Process: 309 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 308 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
Process: 32745 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 308 (code=exited, status=0/SUCCESS)
Mar 01 09:25:53 iZ882mt6umfZ systemd[1]: Starting MariaDB database server...
Mar 01 09:25:53 iZ882mt6umfZ mariadb-prepare-db-dir[32745]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
Mar 01 09:25:53 iZ882mt6umfZ mariadb-prepare-db-dir[32745]: If this is not the case, make sure the /var/lib/mysql is empty before running mariad...db-dir.
Mar 01 09:25:53 iZ882mt6umfZ mysqld_safe[308]: 190301 09:25:53 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Mar 01 09:25:53 iZ882mt6umfZ mysqld_safe[308]: 190301 09:25:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Mar 01 09:25:54 iZ882mt6umfZ systemd[1]: mariadb.service: control process exited, code=exited status=1
Mar 01 09:25:54 iZ882mt6umfZ systemd[1]: Failed to start MariaDB database server.
Mar 01 09:25:54 iZ882mt6umfZ systemd[1]: Unit mariadb.service entered failed state.
Mar 01 09:25:54 iZ882mt6umfZ systemd[1]: mariadb.service failed.
解决方案:
yum install mariadb*
chown -R mysql:mysql /var/lib/mysql/
启动正常:
root@iZ882mt6umfZ ~]# systemctl start mariadb
[root@iZ882mt6umfZ ~]# systemctl status mariadb
[0m mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-03-01 09:38:58 CST; 13s ago
Process: 1875 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 1843 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 1874 (mysqld_safe)
如何在 CentOS Linux 中配置 MariaDB 复制
Mariadb 复制概念
备份 :复制可以用来进行数据库备份。例如,当你做了主->从复制。如果主节点数据丢失(比如硬盘损坏),你可以从从节点中恢复你的数据库。
扩展 :你可以使用主->从复制作为扩展解决方案。例如,如果你有一些大的数据库以及SQL查询,使用复制你可以将这些查询分离到每个复制节点。写入操作的SQL应该只在主节点进行,而只读查询可以在从节点上进行。
分发解决方案 :你可以用复制来进行分发。例如,你可以将不同的销售数据分发到不同的数据库。
故障解决方案 : 假如你建立有主节点->从节点1->从节点2->从节点3的复制结构。你可以为主节点写脚本监控,如果主节点出故障了,脚本可以快速的将从节点1切换为新的主节点,这样复制结构变成了主节点->从节点1->从节点2,你的应用可以继续工作而不会停机。