共计 1865 个字符,预计需要花费 5 分钟才能阅读完成。
MySQL 双版本安装
安装 mysql AB (RPM) -mysql 官方的 RPM 包
安装 MySQL 5.6.19 版本
安装之前需要将系统自带的关于 mysql 软件全部卸载掉
rpm -e(加查找出来的软件)进行卸载
1> 安装
安装出现下面内容表示安装成功
2> 安装客户端
3> 查看安装后产生的文件(如果有以下内容表示安装成功)
注意:如果之前有安装过 mysql 其他版本,安装之前需要将这个目录(/var/lib/mysql)清空才能重新安装。
4> 查看生成的密码文件
5> 启动服务(注意:如果不启动,下面配置密码会报错;且需要通过 ps -ef |grep mysql 查看是否有关于 mysql 的进程,如果有就 kill - 9 加进程号,给杀死。不然下面也会报错)
6> 安全配置密码
7> 进入数据库(输入上面设置的密码)
8> 进入后可以同过该命令查看标签
glibc mysql(二进制软件包) 安装
需求:install_dir:——> /mysql24 data_dir——>/mysql24/data
1> 解压软件压缩包
2> 创建安装的目录的位置,并进去上面解压文件的位置
3> 将解压的文件全部拷贝到安装目录里面去
4> 进入安装目录并查看是否成功拷贝
5> 将其属主属组全部改为 mysql 用户并查看
6> 初始化数据库
7> 启动数据库
启动失败,需将上面已经安装的 mysql 给关闭
8> 连接数据库(连接报错了)
通过下面命令进入 因为 /vaf/lib/ 下面那个文件是另外一个 mysql 数据库的 所以通过 /bin/mysql -S /tmp/mysql.sock 指定下 sock 文件
如果嫌弃麻烦可以直接通过 /mysql24/bin/mysql 进入数据库。(原因:环境变量的问题)
再或者将 mysql24 环境变量直接添加到环境变量文件里面(此处是临时生效,如果想要永久生效需写入环境变量配置文件里面)
9> 设置密码
10> 复制启动脚本到 /etc/init.d(注意路径)
复制后启动发现还是报错(原因:因为默认是到 /etc/init.d/mysql24 里面去找、所以需要修改下配置文件)
修改配置文件
添加下面的内容
修改完配置文件再重启就 ok
上面安装了两个 mysql 数据库 那么问题来了 现在两个数据库不能同时存在该如何处理
怎么启动多个数据实例呢?
5.6.24——》glibc 3307 是通过 glibc 安装的 /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 5.6.19——》rpm 3306 是通过 rpm 包安装的 /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
说明:如果好几个配置文件冲突,以最后一个读取的配置文件为准 现在需要将两个版本的同时打开
步骤:1、修改 5.6.19mysql 版本的配置文件 vim /var/lib/mysql/my.cnf[mysqld] basedir = /usr datadir = /var/lib/mysql port = 3306 socket = /var/lib/mysql/mysql.sock2、修改 5.6.24mysql 版本的配置文件 vim /mysql24/my.cnf[mysqld] basedir = /mysql24 datadir = /mysql24/data port = 3307 socket = /mysql24/mysql.sock
测试验证
启动服务并查看端口
通过查看进程可以发下两个都没问题,一个是 /var/lib/ 下面的;一个是 /mysql24/data/ 下面的
登陆(登陆时发现直接 mysql 还是不能进去数据库里面,原因:因为默认是到 /tmp/mysql 里面去找的,可以通过 mysql -S /mysql24/mysql.sock -p123 去成功访问)
通过上述方法有点复杂,可以直接做一个软链接后就可以直接登陆
5.2.19 版本的则没有改变 直接通过绝对路径加命令就可以直接访问
远程访问
当那另外一台机去访问时发现被拒绝(原因:因为数据库端没有给定相应的访问权限)
[root@server mysql24]# mysql -u root -h 172.16.13.99 -p
Enter password:
ERROR 1130 (HY000): Host ‘172.16.13.252’ is not allowed to connect to this MySQL server (此为报错信息)
数据库端更改权限
客户端再次访问,发现可以成功访问了