mariadb编译

2024-01-29 16:54:37 浏览数 (1)

1 mariadb编译安装

说明:虚拟化环境的安装,参考组网图,部署2个虚拟机,每个虚拟机上面部署mariadb

软件即可

1.1 安装依赖

Ø 上传rpm.zip文件到/rpm目录:

代码语言:javascript复制
cd /home
代码语言:javascript复制
unzip rpm.zip
代码语言:javascript复制
cd /home/rpm
代码语言:javascript复制
rpm -ivh * --force

1.2 虚机机挂载硬盘

可参考我之前写的“虚拟机磁盘挂载,本地映射”

1.3 格式化硬盘

/home/db:数据库的数据文件路径

代码语言:javascript复制
mkfs.xfs /dev/vdb
代码语言:javascript复制
mkdir -p /home/db/
代码语言:javascript复制
mount /dev/vdb /home/db

1.4 系统环境设置

虚拟机和宿主机都执行该操作

代码语言:javascript复制
echo "* soft nproc 65535">>/etc/security/limits.conf
代码语言:javascript复制
echo "* hard nproc 65535">>/etc/security/limits.conf
代码语言:javascript复制
echo "* soft nofile 65535">>/etc/security/limits.conf
代码语言:javascript复制
echo "* hard nofile 65536">>/etc/security/limits.conf

1.5 创建用户、目录

代码语言:javascript复制
useradd -m mysql
代码语言:javascript复制
mkdir -p /usr/local/mariadb-10.3.32
代码语言:javascript复制
chown -R mysql:mysql /usr/local/mariadb-10.3.32
代码语言:javascript复制
chown -R mysql:mysql /home/db
代码语言:javascript复制
mkdir -p /home/db/data
代码语言:javascript复制
mkdir -p /home/db/tmp
代码语言:javascript复制
chmod 777 -R /home/db/tmp
代码语言:javascript复制
chown -R mysql:mysql /home/db/data
代码语言:javascript复制
chmod 777 /home/db/tmp

1.6 预编译

上传mariadb-10.3.32.tar.gz到/home目录

代码语言:javascript复制
tar -zxvf mariadb-10.3.32.tar
代码语言:javascript复制
cd /home/mariadb-10.3.32
代码语言:javascript复制
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.3.32 -DMYSQL_DATADIR=/home/db/data -DMYSQL_UNIX_ADDR=/home/db/tmp/mysql.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_CONNECT_STORAGE_ENGINE=1 -DWITH_CSV_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_SEQUENCE_STORAGE_ENGINE=1 -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DEXTRA_CHARSETS=all -DENABLE_PROFILING=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DWITH_CURL=system -DWITH_DEBUG=0 -DWITH_LIBWRAP=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system

1.7 编译安装

代码语言:javascript复制
make -j16
代码语言:javascript复制
make install

1.8 修改配置文件

将my.cnf和mariadb.service上传到home目录

代码语言:javascript复制
cd /home
代码语言:javascript复制
cp my.cnf /etc/
代码语言:javascript复制
cp mariadb.service /usr/lib/systemd/system/

1.9 修改环境变量

代码语言:javascript复制
vim /etc/profile
代码语言:javascript复制
//在/etc/profile最后添加两行
代码语言:javascript复制
export MARIADB_HOME=/usr/local/mariadb-10.3.32
代码语言:javascript复制
export PATH=$PATH:$MARIADB_HOME/bin
代码语言:javascript复制
source /etc/profile

1.10 初始化数据库

代码语言:javascript复制
/usr/local/mariadb-10.3.32/scripts/mysql_install_db --user=mysql --datadir=/home/db/data

1.11 启动服务

代码语言:javascript复制
service mariadb start

1.12 数据库设置

代码语言:javascript复制
按如下命令进入数据库初始数据库无密码
代码语言:javascript复制
mysql -u root -p
代码语言:javascript复制
修改密码:
代码语言:javascript复制
use mysql;
代码语言:javascript复制
// 将authentication_string 置空;
代码语言:javascript复制
update user set authentication_string='' where user='root'; 
代码语言:javascript复制
//123456为要修改的新密码;
代码语言:javascript复制
alter user 'root'@'localhost' identified by '123456';   
代码语言:javascript复制
FLUSH PRIVILEGES;
代码语言:javascript复制
//远程登录设置
代码语言:javascript复制
rename user 'root'@'localhost' to 'root'@'%';
代码语言:javascript复制
flush privileges;

0 人点赞