本篇博客如题:在服务器上安装两个MySql。
背景: 其实并非本意非要安装两个服务器,奈何不知道前面项目的数据库密码,并且数据库版本是8.x,另外还有项目在上面运行,前面的人把数据库装到了系统盘,留下了500G的数据盘没用,所以本着折腾的精神,就开始了踩坑之旅,话说折腾了快两天了,终于把这个问题搞定了,虽然还有点迷糊,不过对于我这新手而言太不容易了。下面做个记录,权且做个纪念。
1.第一个数据库安装
好了,不多说废话了,开始踩坑之旅,虽说是安装两个数据库,不过,第一个数据库的安装有很多办法,我就不多举例子了,推荐几个链接给大家。
官方的yum安装教程:https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
2.第二个数据库安装(使用tar.gz安装包)
2.1 准备工作:下载tar.gz,链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
注意根据自己服务器的系统和进行下载
记得下载的tar.gz包保存的位置。稍后上传的时候要用到。
2.2 将下载的xxxx.tar.gz包向办法上传到服务器,我使用的是WinSCP工具上传的。
2.3 解压缩下载的xxxx.tar.gz文件,并重命名,注意自己存放的文件夹,我使用的是xshell来操作的。
使用的命令如下:
[root@VM_0_17_centos ~]# cd /xs-data/ # cd进入文件夹下
[root@VM_0_17_centos xs-data]# ls # 查看所有文件和文件夹
[root@VM_0_17_centos xs-data]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz # 解压xxx.tar.gz包
[root@VM_0_17_centos xs-data]# mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql-5.7 # 重命名文件夹为mysql-5.7,可自定义
2.3 在mysql-5.7下新增文件夹data,var,etc备用
[root@VM_0_17_centos xs-data]# ls
mysql-5.7 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz svn
[root@VM_0_17_centos xs-data]# cd mysql-5.7/
[root@VM_0_17_centos mysql-5.7]# ls
bin COPYING docs include lib man README share support-files
[root@VM_0_17_centos mysql-5.7]# mkdir data
[root@VM_0_17_centos mysql-5.7]# mkdir var
[root@VM_0_17_centos mysql-5.7]# mkdir etc
[root@VM_0_17_centos mysql-5.7]# ls
bin COPYING data docs etc include lib man README share support-files var
2.4 创建数据库配置文件,一般为my.cnf 。其实在根目录 /etc/my.cnf 有这个文件,所以只需要复制就行了,如果根目录下没有的话,就需要使用touch命令新建该文件了,我把这个文件放到刚新建的etc文件夹下。
[root@VM_0_17_centos mysql-5.7]# ls /etc/
[root@VM_0_17_centos mysql-5.7]# cp /etc/my.cnf etc/
[root@VM_0_17_centos mysql-5.7]# ls etc/
my.cnf
2.5 编辑刚复制的my.cnf文件,由于我的服务器没有vim命令,所以我就使用vi命令了 vi etc/my.cnf 。编辑如下内容
basedir= /xs-data/mysql-5.7
datadir = /xs-data/mysql-5.7/data
port = 3308
socket = /xs-data/mysql-5.7/mysql.sock
[client]
socket = /xs-data/mysql-5.7/mysql.sock
#不区分大小写
lower_case_table_names = 1
注意自己存放的文件夹,路径不要搞错了,我的是放在了xs-data下
2.6 改变文件夹权限,使得mysql可以访问。
#groupadd mysql
#useradd mysql -g mysql
#chown -R mysql:mysql mysql-5.7/
#chmod -R 755 mysql-5.7/
2.7 安装依赖包(非常重要的一步!!!!!)
yum -y install make gcc-c++ cmake bison-devel ncurses ncurses-devel libaio-devel
2.8 指定配置文件初始化
[root@VM_0_17_centos mysql-5.7]# ./bin/mysqld --defaults-file=/xs-data/mysql-5.7/etc/my.cnf --initialize --user=mysql &
注意执行该命令时候的位置
2.9 初始化数据库
./bin/mysqld_safe --defaults-file=/xs-data/mysql-5.7/etc/my.cnf --user=mysql &
上面的命令注意结尾符号& ,接着执行mysql.server start,如果出现如下的问题,那就修改mysql.server文件
[root@VM_0_17_centos mysql-5.7]# ./support-files/mysql.server start
./support-files/mysql.server: line 259: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
使用vi support-files/mysql.server 可以打开mysql.server文件,修改两个地方如下
修改好之后再执行 ./support-files/mysql.server start
3.0 登录数据库修改密码。使用上一步得到的临时密码
第二个数据库必须使用进入
#./bin/mysql --socket=../mysql.sock --port=3308 -u root -p
使用初始化的时候得到的密码 qabmwvkGj4.;
进入后直接修改密码
mysql>alter user 'root'@'localhost' identified by '123456';
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
mysql>quit
至此第二个数据库的安装和修改工作已经完结了。
3.1 关于数据库启动和停止的补充,偷个懒直接拷贝参考文章的。
#mysql -u root --socket=/var/lib/mysql3307/mysql.sock --port=3307 -p
因为两个数据库,需要置顶socket进行启动。第一次登陆没有密码,直接回车即可。
停止3307数据库
#mysqladmin -u root --socket=/var/lib/mysql3307/mysql.sock --port=3307 -p shutdown
3.3 navicat连接测试
使用以下命令 vi /etc/sysconfig/iptables 首先看下端口有没有开放