最近手痒痒,想重新玩一玩dnf私服,于是就自己内网动手搭建了,包含60、70、80等版本,这里分享下如何自定义安装数据库(一般来说Centos 5系直接 yum源带有5.0及5.5的版本,这完全没有问题,此教程写给那些想换不同版本数据库的同学~)。
其他版本如5.7就不推荐了,5.7版本之后变动太大了,dxf的数据文件不能直接替换,已亲测。
一、二进制安装
二进制安装稍微麻烦点,命令如下:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.10-linux-glibc2.5-x86_64 /usr/local/mysql5.6
ln -s /usr/local/mysql5.6 /usr/local/mysql
groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/mysql
chown -R mysql.mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
bin/mysqld_safe --user=mysql &
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
讲解下步骤:
1、下载二进制版本的mysql包;解压;改名并将其放到/usr/local目录下;添加名称为mysql的软连接指向mysql5.6;
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.10-linux-glibc2.5-x86_64 /usr/local/mysql5.6
ln -s /usr/local/mysql5.6 /usr/local/mysql
2、添加属组mysql;添加用户mysql其属主为mysql;进入mysql5.6根目录,将其目录所有文件属主属组设置为mysql;
groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/mysql
chown -R mysql.mysql .
3、初始化数据库;将所有文件属主变更为root;将data目录属主变更为mysql;
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
4、安全启动;复制一份配置文件;注册进服务(注册service命令);
bin/mysqld_safe --user=mysql &
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
至此二进制版本的数据库安装成功,只需要替换数据文件(datadir路径,文末有详细步骤),重启数据库即可。
二、RPM包安装(傻瓜式安装)
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
rpm -ivh MySQL*
查看mysql服务位置
whereis mysql 或 find / -name mysql*
启动服务
/etc/rc.d/init.d/mysql start
查看服务的datadir
ps -ef|grep mysql
mysql 23536 23433 6 11:36 pts/2 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/lazy_dxf.err --pid-file=/var/lib/mysql/lazy_dxf.pid
停止服务,替换数据文件。
/etc/rc.d/init.d/mysql stop
Final、替换数据文件(以二进制安装为例)
1、注意datadir的位置(/user/local/mysql/data),首先需要停止数据库
service mysqld stop
2、将dxf数据文件包拷贝到/usr/loca/mysql下;备份旧数据目录;解压 dxf数据文件包;修改为当前数据目录名称;授权;
cp ~/DXF_ALL_IN_ONE/mysql.tar.gz_20220327 /usr/local/mysql/
mv data data_
tar zxvf mysql.tar.gz_20220327
mv mysql data
chown -R mysql.mysql data
3、启动mysql
service mysqld start
4、更新表结构
bin/mysql_upgrade -ugame -p
密码:uu5!^%jg
5、重新启动
service mysqld restart
6、 进入mysql交互界面;修改ip字段(当前你的服务器ip);
bin/mysql -ugame -p
密码:uu5!^%jg
show databases;
use d_taiwan;
update db_connect set db_ip='192.168.31.118';
update dblab_db_connect_130516 set db_ip='192.168.31.118';
OVER.
PS:dxf数据文件默认了账号:game 密码:uu5!^%jg;且已经设置了允许远程访问,如果有问题可执行以下操作;
#授予所有权限、刷新权限(mysql交互界面执行)
grant all privileges on *.* to 'game'@'%' identified by 'uu5!^%jg';
flush privileges;
#开通3360端口或关闭防火墙
service iptables stop;