在原mysql服务器上安装mariadb-10.1.22

下载linux64位版

tar zxvf mariadb-10.1.22-linux-x86_64.tar.gz
mv mariadb-10.1.22-linux-x86_64 /usr/local/
cd /usr/local/
ln -s mariadb-10.1.22-linux-x86_64 mariadb
cd mariadb
useradd mariadb
chown root:root -R .
chown mariadb:mariadb -R data
cp support-files/my-large.cnf my.cnf

vim my.cnf
// 修改配置文件
user            = mariadb
port            = 3308
socket          = /var/run/mariadb.sock
basedir         = /usr/local/mariadb
datadir         = /usr/local/mariadb/data
log_error       = /var/log/mariadb/error.log
slow_query_log  = 1
slow_query_log_file = /var/log/mariadb/slow.log
long_query_time = 3
skip-name-resolve
#thread_concurrency = 8 // 已废弃
innodb_data_home_dir      = /usr/local/mariadb/data
innodb_log_group_home_dir = /usr/local/mariadb/data
#innodb_additional_mem_pool_size = 20M // 已废弃
innodb_use_sys_malloc = 1 // 系统分配
// 修改配置文件结束

mkdir /var/log/mariadb
chown mariadb /var/log/mariadb
cp support-files/mysql.server /etc/init.d/mariadb

vim /etc/init.d/mariadb
// 修改启动文件
# chkconfig: 2345 65 37 // 在原数字上加1,与mysqld分开
basedir=/usr/local/mariadb
datadir=/usr/local/mariadb/data
lock_file_path="$lockdir/mariadb"
extra_args="-c $basedir/my.cnf" // 改成-c即配置文件,跳过/etc/my.cnf
$bindir/mysqladmin --defaults-file=$basedir/my.cnf ping >/dev/null 2>&1; then // 指定配置文件
$bindir/mysqld_safe --defaults-file=$basedir/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
// 修改启动文件结束

/etc/init.d/mariadb start
chkconfig add mariadb

安装完成了,之前的项目用的mysql,1主3从,新项目准备用mariadb,2主2从
103和105做主数据库,互为主从,既103和104的数据源是105,105和202的数据源是103
先修改103和105的配置文件,修改自增量步长和开启二进制日志

server-id               = 103
auto_increment_increment= 2
auto_increment_offset   = 1
sync_binlog             = 1
log-bin                 = mysql-bin
binlog_format           = mixed
expire_logs_days        = 10
log_slave_updates       = 1
server-id               = 105
auto_increment_increment= 2
auto_increment_offset   = 2
sync_binlog             = 1
log-bin                 = mysql-bin
binlog_format           = mixed
expire_logs_days        = 10
log_slave_updates       = 1

启动数据库,在两台主数据库上创建同步账号:

CREATE USER 'repl'@'192.168.1.%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%';
flush privileges;

SHOW MASTER STATUS; // 记录二进制日志名和偏移量

在从数据库上执行命令:

CHANGE MASTER TO
	MASTER_HOST='192.168.1.103',//主数据库的IP
	MASTER_PORT=3308,//主数据库的端口
	MASTER_USER='repl',//主数据库的同步账号
	MASTER_PASSWORD='password',
	MASTER_LOG_FILE='mysql-bin.000015',//主数据库的二进制日志名
	MASTER_LOG_POS=343;//主数据库的二进制日志偏移量
### 安装 MariaDB 服务器客户端 #### 准备工作 为了确保顺利安装,在开始之前应更新系统的软件包列表: ```bash sudo yum update -y ``` #### 添加 MariaDB Yum 存储库 由于默认的 CentOS 仓库可能不包含最新版本的 MariaDB 或存在兼容性问题,建议先添加官方提供的 MariaDB Yum Repository。 对于 CentOS 7, 可以通过以下命令来完成此操作: ```bash sudo cat <<EOF >/etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF ``` 注意这里选择了 MariaDB 版本 `10.5` 的存储库地址[^1]。如果需要其他版本,则需调整 URL 中对应的版本号部分。 #### 解决依赖关系冲突 当尝试同时安装多个相关组件时可能会遇到依赖项冲突的情况。针对这种情况,可以单独处理各个组件之间的依赖关系。例如,对于 Python 库 PyMySQL 导致的冲突,可以通过分步安装的方式解决这个问题: ```bash # 单独安装 mariadb mariadb-server 避免直接一起安装引发冲突 sudo yum -y install mariadb mariadb-server # 接着再安装 python2-PyMySQL sudo yum -y install python2-PyMySQL ``` 另外,如果有提示缺少特定工具如 `pv`, 则应该提前安装这些必要的支持程序[^2]: ```bash sudo yum -y install pv ``` #### 执行实际安装过程 一旦解决了所有的前置条件之后就可以正式开始安装 MariaDB Server Client : ```bash sudo yum -y install mariadb mariadb-server ``` 这一步骤会自动拉取并配置好服务端(`mariadb-server`)以及客户端(`mariadb-client`)所需的全部资源。 #### 启动与设置开机自启 成功安装后还需要启动 MySQL 数据库服务,并将其加入到系统引导过程中以便每次重启机器都能自动加载该服务: ```bash sudo systemctl start mariadb.service sudo systemctl enable mariadb.service ``` #### 初始化安全设置 初次运行新安装好的数据库实例前最好执行一次安全性强化脚本,这样能够帮助移除一些潜在的安全隐患: ```bash sudo mysql_secure_installation ``` 按照屏幕上的指示逐步完善各项参数即可[^4]。 #### 测试连接 最后验证是否能正常访问本地数据库: ```sql mysql -u root -p ``` 输入刚才设定的新密码后应当可以看到进入到了 SQL 提示符界面内表示一切正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值