redhat移动mysql数据目录(centos应该也差不多)

MySQL配置与自动化部署
本文介绍MySQL服务器配置文件mysql.cnf的详细设置方法,包括如何调整数据库参数、目录迁移步骤及自动化部署脚本命令。此外还涉及了防火墙设置及端口开放等内容。

1. mysql.cnf

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html


[mysqld]

log-bin = mysql-bin
sync_binlog = 1


datadir = /data/db/mysql
socket = /data/db/mysql/mysql.sock
pid-file=/data/db/mysql/mysql.pid
init_connect = 'SET collation_connection = utf8_unicode_ci'
init_connect = 'SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
max_allowed_packet = 64M
group_concat_max_len = 20M
innodb_log_file_size = 500M
expire_logs_days = 7
skip-grant-tables


[client]

default-character-set=utf8


2. 安装rpm安装mysql

3. 目录迁移

        chown mysql:mysql /data/db        # 关键点,如果这里没有事先设置,移动过去配置库会有问题

mv /var/lib/mysql /data/db
# 修改 mysql home 目录
sed -i 's/\/var\/lib\/mysql/\/data\/neteq\/mysql/g' /etc/passwd
# 修改mysql配置文件
cp /root/mysql.cnf /etc/my.cnf
# 修改 mysql.sock 指向的目录
mkdir -p /var/lib/mysql
ln -s /data/neteq/mysql/mysql.sock /var/lib/mysql/mysql.sock
# 启动 mysql
service mysql start
service mysql status

4. 写自动化脚本可以可能会使用到的命令

4.1 echo "use mysql;UPDATE user SET Password=PASSWORD('root@123') where USER='root' and host='root' or host='localhost';flush privileges;"|mysql -uroot

4.2 grep -v "skip-grant-tables" /etc/my.cnf > /etc/my.cnf.tmp

rm -rf /etc/my.cnf

mv /etc/my.cnf.tmp /etc/my.cnf
4.3 重启 mysql
service mysql restart


5.设置防火墙

rpm -qa | grep iptables
# 查看端口
/sbin/iptables -L -n | grep 3306 | grep -e "^ACCEPT[[:space:]]*tcp"
# 开放端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值