Centos7.3二进制格式安装MariaDB
背景:
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表示密码,如果没有密码可以不写,有密码可以直接跟在后面,不过不安全