最近因为windows平台的powershell病毒,导致所有windows服务器都需要迁移到linux,其中也包括svn,迁移过程中遇到很多坑逐一踩过后,现在就过程记录下
这套环境是使用的centos7.2+mysql5.6.35+subversion1.9.7+apache+https+php5.6.20+manmanager1.10
一、centos7.2安装
yum install wget vim -y
设置selinux为disabled,reboot生效(这部很重要,因为svnmanager连接mysql数据库的时候需要)
vim /etc/selinux/config
设置
SELINUX=disabled
停止firewalld防火墙(也可以不停止,开放对应端口就行,因为我们这有对外防火墙,所以为了方便直接关闭)
systemctl stop firewalld.service
systemctl disable firewalld.service
卸载系统自带的Mariadb
rpm -qa|grep mariadb // 查询出来已安装的mariadb rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
删除etc目录下的my.cnf
rm /etc/my.cnf
二 安装mysql5.6
安装必要的组件
yum install autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel -y
下载解压mysql软件
cd /usr/local/ wget -c http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz mv mysql-5.6.35-linux-glibc2.5-x86_64 mysql
执行以下命令来创建mysql用户组
[root@localhost ~]# groupadd mysql
执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
[root@localhost ~]# useradd -g mysql mysql
copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
配置/etc目录下的my.cnf文件
[root@localhost support-files]# vim /etc/my.cnf [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysqld] skip-name-resolve #设置3306端口 port = 3306 socket=/var/lib/mysql/mysql.sock # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_name=1 max_allowed_packet=16M
创建 /var/lib/mysql文件
mkdir -p /var/lib/mysql
并赋予权限
chmod -R 777 /var/lib/mysql
进入安装mysql软件目录
[root@localhost ~]# cd /usr/local/mysql [root@localhost mysql]# chown -R mysql:mysql ./ 修改当前目录拥有着为mysql用户 [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库
[root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户
授予my.cnf最大权限
[root@localhost ~]# chmod 777 /etc/my.cnf
复制启动脚本到资源目录
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld //增加mysqld服务控制脚本执行权限 [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld //将mysqld服务加入到系统服务 [root@localhost mysql]# chkconfig --add mysqld //检查mysqld服务是否已经生效 root@localhost mysql]# chkconfig --list mysqld //启动mysqld service mysqld start
将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
[root@localhost mysql]# vim ~/.bash_profile //在文件最后添加如下信息: export PATH=$PATH:/usr/local/mysql/bin //执行下面的命令是修改的内容立即生效: [root@localhost mysql]# source ~/.bash_profile
以root账户登录mysql,默认是没有密码的
[root@localhost mysql]# mysql -u root -p
设置root账户密码为123456(也可以修改成你要的密码)
mysql>use mysql; mysql>update user set password=password('123456') where user='root' and host='localhost'; mysql>flush privileges;
设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql>flush privileges;
创建svnmanager的库和用户
Mysql> show databases; Mysql> create database svnmanager; mysql> create user 'admin' identified by 'admin'; mysql> grant all on svnmanager.* to admin@'%' identified by 'admin'; mysql> flush privileges;