文章目录
Mariadb安装方式:
-
源代码:编译安装
-
二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
-
程序包管理器管理的程序包
CentOS 安装光盘
项目官方:https://downloads.mariadb.org/mariadb/repositories/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/
https://mirrors.tuna.tsinghua.edu.cn/MysqL/yum/
① .用yum安装
端口号3306
centos6用的是MysqL-server
服务为MysqLd
centos7用的是mariabd-server
服务为mariadb-service
直接安装后启动就ok
② . 基于RPM包的安装(yum网络源- --包)
在配置yum源的时候尽量用(清华大学的源--------快)
https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.5/centos7-amd64
[root@centos7 yum.repos.d]#cat mariadb.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装服务器MariaDB-server和客户端Mariadb-client
③ .二进制安装
通用二进制格式安装过程mariadb
绿色软件,免安装
已经编译好的,但是没有配置文件
二进制格式安装过程
(1) 准备用户(-r系统用户)
groupadd -r -g 306 MysqL
-d指定家目录,用于存放库文件(不能有自动生成的.bashr
等文件,手工建家目录)
useradd -r -g 306 -u 306 –d /data/MysqL MysqL
(2) 准备数据目录,建议使用逻辑卷
mkdir /data/MysqL
chown MysqL:MysqL /data/MysqL
(3) 准备二进制程序
注意:这里必须是/usr/local因为在这之前编译时已经指定了路径
tar xf mariadb-VERSION-linux
-x86_64.tar.gz -C /usr/local
cd /usr/local
ln -sv mariadb-VERSION MysqL 用软连接—便于更换版本
chown -R root:MysqL /usr/local/MysqL/
(4) 准备配置文件
mkdir /etc/MysqL/
cd mariadb-10.5.8-linux-x86_64/
cp support-files/my-large.cnf /etc/MysqL/my.cnf
vim /etc/MysqL/my.cnf
[MysqLd]中添加选项:
datadir = /data/MysqL
innodb_file_per_table = on
skip_name_resolve = on 禁止主机名解析,建议使用
character-sets-dir=utf8md4 指定字符编码
(5)创建数据库文件
cd /usr/local/MysqL/
启动脚本(用于创建数据库初始化)必须在./scripts/下面(有bin)
./scripts/MysqL_install_db --datadir=/data/MysqL --user=MysqL
(6)准备服务脚本,并启动服务
cp ./support-files/MysqL.server
/etc/rc.d/init.d/MysqLd 拷贝至服务目录
chkconfig --add MysqLd 加入服务
chconfig – list 查看
service MysqLd start (centos6和7都这样用)
3306端口就开启了
centos7
(7)PATH路径
echo ‘PATH=/usr/local/MysqL/bin:$PATH’ > /etc/profile.d/MysqL.sh
. /etc/profile.d/MysqL.sh
生效
这样MysqL就可以用
(8)安全初始化,脚本
/user/local/MysqL/bin/MysqL_secure_installation
二进制安装MysqL 5.7
1 tar xvf MysqL-5.7.26-el7-x86_64.tar.gz -C /usr/local/
2 useradd -r -s /bin/false MysqL
3 cd /usr/local/
ln -s MysqL-5.7.26-el7-x86_64/ MysqL
4
echo ‘PATH=/usr/local/MysqL/bin:$PATH’ > /etc/profile.d/MysqL.sh
. /etc/profile.d/MysqL.sh
5
这一步可以省略
mkdir /data/MysqL
chown MysqL.MysqL /data/MysqL
指定用户,工作路径(会自动生成/data/MysqL)
MysqLd --initialize --user=MysqL --datadir=/data/MysqL
要记住这一行----用户账号信息
2019-07-12T07:56:12.921021Z 1 [Note] A temporary password is generated for root@localhost: <G9sV#uF-2sr
6 vim /etc/my.cnf
[MysqLd]
datadir=/data/MysqL
socket=/data/MysqL/MysqL.sock
log-error=/data/MysqL/MysqL.log
pid-file=/data/MysqL/MysqL.pid
指定客户端可以找到sock文件
[client]
socket=/data/MysqL/MysqL.sock
7
cp MysqL/support-files/MysqL.server /etc/init.d/MysqLd
chkconfig --add MysqLd
chkconfig --list
service MysqLd start
更改密码
8 MysqLadmin -uroot -p"<G9sV#uF-2sr" password centos
9 MysqL -pcentos
④ . 源码包安装
源码编译安装mariadb
安装包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel libdb-cxx-devel
创建逻辑卷
t 指定 8e逻辑卷
fdisk
同步partprobe
创建物理卷
pvcreate /dev/sda6
创建卷组(指定PE为16M)
vgcreate vg0 /dev/sda6 -s 16M
创建逻辑卷
lvcreate -n MysqL -l 100% free vg0
关联挂在data/MysqL目录上
mkdir /data/MysqL
格式化
mkfs.xfs /dev/vg0/MysqL
写到 /etc/fstab文件中
vim /etc/fstab
UUID=9638a6f6-4715-44e7-9c95-6a010f5568ef /data/MysqL ext4 defaults 0 0
mount -a 重读配置文件
做准备用户和数据目录
useradd –r –s /sbin/nologin –d /data/MysqL/ MysqL
chown MysqL.MysqL /data/MysqL/
解包
tar xvf mariadb-10.2.18.tar.gz
cmake 编译安装
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
编译选项:https://dev.MysqL.com/doc/refman/5.7/en/source-configuration-options.html
cd mariadb-10.2.18/
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/MysqL \
-DMysqL_DATADIR=/data/MysqL/ \
-DSYSconfdIR=/etc/ \
-DMysqL_USER=MysqL \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMysqL_UNIX_ADDR=/data/MysqL/MysqL.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
编译安装
make && make install 并行执行
提示:如果出错,执行rm -f CMakeCache.txt
准备环境变量
echo ‘PATH=/app/MysqL/bin:$PATH’ > /etc/profile.d/MysqL.sh
. /etc/profile.d/MysqL.sh
生成数据库文件
cd /app/MysqL/
scripts/MysqL_install_db --datadir=/data/MysqL/ --user=MysqL
准备配置文件
cp /app/MysqL/support-files/my-huge.cnf /etc/my.cnf
准备启动脚本
cp /app/MysqL/support-files/MysqL.server /etc/init.d/MysqLd
启动服务
chkconfig --add MysqLd ;service MysqLd start
五. 实现数据库的多实例(重点)
1.端口号独立
2.仓库独立(不同的位置)
mkdir -pv /MysqL/{3306,3307,3308} /{data,bin.log,socket,pid,etc} 做三个文件夹里面的数据库都独立
./data-------->/var/liv/MysqL/ 将对应的数据库文件放到对应的目录
MysqL_install_db --datadir=/MysqL/3306/data/ --user=MysqL
MysqL_install_db --datadir=/MysqL/3307/data/ --user=MysqL
MysqL_install_db --datadir=/MysqL/3308/data/ --user=MysqL
修改属性
chown -R MysqL.MysqL /MysqL
配置文件/MysqL/etc------->/etc/my.conf
cp /etc/mycnf /MysqL/3306/etc/
vim /MysqL/3306/etc/
[MysqLd]
port=3306
datadir=/MysqL/3306/data/ 指定数据库目录
socate=/MysqL/3306/socket/MysqL.sock 指定scket文件
[MysqLd_safe]
log-error=/MysqL/3306/log/mariadb.log 指定日志
pid-file=/nysql/3306/pid/mariadb.pid
删掉这个
同理生成3307和3308的目录
用sed命令
sed -i 's/3306/3307/ ' 文件
用yum安装1个低版本的3306------在
在
设置服务脚本/MysqL/3306/bin----->
将脚本加上x权限后加入到/MysqL/3306/bin/中
复制3306/bin到3307和3308中
然后用sed命令替换,脚本里面的port为3307和 3308
最后根据脚本----执行服务命令(启动)
/MysqL/3306/bin/MysqL start
这样就可以查看到队医你个的端口号
并且会生成对应的日志
用MysqL 可以连接数据库
-S 指定哪个sock文件
设置口令
MysqLadmin -S /MysqL/3306/socket/MysqL.sock passwd centos
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。