LINUX 安装mysql5.6.50 RPM

今天要做一个MySql数据库的主从备份,由于现有的数据库,是使用宝塔安装的5.6.50版本,因此需要在新购买的服务器上安装MySql5.6.50版本,记录一下安装过程的碰见的各种问题

1.下载安装包

抖店云上的系统是CentOS 7.9 64位,因此下载Redhat 7系统下面的安装包

下载地址:https://downloads.mysql.com/archives/community/

 只需要下载这两个安装包即可。

2.安装mysql

2.1将下载好的包上传到服务器上

2.2使用命令安装

安装依赖包
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 libncurses.so.5 --setopt=protected_multilib=false
yum update libstdc+±4.4.7-4.el6.x86_64
安装 mysql-client
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
安装 mysql-server
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm

2.3碰到问题

1.安装mysql-server的时候碰见问题,输入命令rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm的时候返回,error: Failed dependencies,意思是 失败的依赖 

解决方法:

在安装包后面加两个参数,如

rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm --nodeps --force
安装时不再分析包之间的依赖关系而直接安装。

2.安装完成之后,启动mysql服务,service mysql start的时候返回:/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

网上是说这是Linux-centos版本的问题,有的版本缺少libaio.so.1文件。因此需要安装libaio。

安装之前检查一下libaio位置:wheris libaio.so.1

如果没有检测到,手动安装一下:yum install -y libaio

3.安装完libaio之后,再次启动mysql服务,返回:Failed to start mysqld.service: Unit not found

网上查到的方法是需要安装mysql-server

通过命令安装:yum install -y mysql-server的时候又返回:Loaded plugins: fastestmirror, versionlock Loading mirror speeds from cached

a.首先解决Loaded plugins: fastestmirror

注:fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了。

解决办法:先给它禁用了

1.修改配置文件

vim  /etc/yum/pluginconf.d/fastestmirror.conf
由enabled = 1修改为enabled = 0 意思是禁用它

vim /etc/yum.conf

修改为plugins=0 不使用插件

b.然后再解决Loading mirror speeds from cached

修改YUM源

依次输入下面命令

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all

最后再安装yum install -y mysql-server就成功了

4.再次启动mysql,返回:Starting MySQL.230510 17:37:30 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

打开/etc/my.cnf文件,发现mysqld_dafe里面的log-error=/var/log/mariadb/mariadb.log,但是系统里面没有该路径,新建该文件,并授权

mkdir  /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

5.再次启动mysql,这回报错Starting MySQL..The server quit without updating PID file (/var/lib/mysql/iv-ycciye8exn7gran.pid)

网上搜索,出现的PID file的六种解决方法,我这边都不适用,因此进入/var/log/mariadb/mariadb.log日志里面查看,发现错误信息:/usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist。

table ‘mysql.host’不存在的原因是因为新安装的mysql服务后,一般需要执行数据库初始化操作 ,从而生成与权限相关的表,执行命令如下:

/usr/bin/mysql_install_db --user=mysql

注:以上命令中的mysql_install_db与你安装的mysql服务位置有关,如果不知道在哪,可以使用find / -name mysql_install_db找到其位置,然后执行上面的命令。

如果报这个错,日志里面没有任何报错,配置文件、目录权限都对着,可以使用以下命令查看,是否缺少依赖文件
/usr/local/mysql/bin/mysqld -V

主要是学会自己能找到错误原因,每个人的情况都不一样

至此,终于可以正常启动mysql服务