homeassistant mysql_MySQL5.7安装过程中遇到的一些坑解决方案

本文档详细记录了在RedHatEnterprise6上安装MySQL5.7的步骤,包括软件下载、安装、启动、设置无密码登录、修改默认密码、处理权限问题以及解决依赖缺失等常见问题。在安装过程中遇到了如secure-file-priv选项导致的文件操作限制、密码策略错误以及libnuma.so.1库缺失等问题,并给出了相应的解决方案。
摘要由CSDN通过智能技术生成

一.题记

工作中往往会涉及到开发环境构建,对于一些重复性的工作我们需要写一些工具或者做一个操作文档来帮助新人快速进入工作,今天这篇内容的分享就是整理了一下我在服务器搭建过程中遇到的坑。

二.实验环境

1.RedHat Enterprise 6 64位

2.MySQL5.7.20

三.实验步骤

1.软件下载:

最新版本:https://dev.mysql.com/downloads/mysql/

历史版本:https://downloads.mysql.com/archives/community/

2.软件安装:

(1).安装前先卸载系统带的旧版本

# rpm -qa | grep mysql

# rpm -e mysql-libs-* --nodeps

(2).解压安装包并安装

# chmod -R 755 ./mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar

# tar -xvf ./mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar

# chmod -R 755 ./

# rpm -ivh ./mysql-community-common-5.7.20-1.el6.x86_64.rpm

# rpm -ivh ./mysql-community-libs-5.7.20-1.el6.x86_64.rpm

# rpm -ivh ./mysql-community-client-5.7.20-1.el6.x86_64.rpm

# rpm -ivh ./mysql-community-server-5.7.20-1.el6.x86_64.rpm

# rpm -ivh ./mysql-community-devel-5.7.20-1.el6.x86_64.rpm

3.启动、停止、重启、查看运行状态

# service mysqld start

# service mysqld stop

# service mysqld restart

# service mysqld status

4.登录

方案一:

(1).查看系统默认生成的mysql密码,然后进行登录

cat /var/log/mysqld.log | grep –-color "password"

方案二:

我这里用以前的案一方式提示我登录错误,所以采用先将mysql设置无密码登录,然后再进行修改默认登录密码,设置好后才启动密码登录。

(1).修改文件【/etc/mysql/my.cnf】,在[mysqld]项下添加【skip-grant-tables】.

(2).执行命令【service mysql restart】,重启mysql服务.

(3).执行命令【mysql -uroot -p】,登录mysql

(4).登录好后,修改管理员密码.

mysql> use mysql;

mysql> UPDATE user SET password=password("xiangqubacn") WHERE user='root';

mysql> flush privileges;

mysql> exit;

备注:mysql5.7已经没有【password】字段了,所以按照上面方式修改会提示错误信息,5.7版本用【authentication_string】替代了【password】,所以按照下面方式设置密码

mysql> use mysql;

mysql> UPDATE user SET authentication_string=password("xiangqubacn") WHERE user='root';

mysql> flush privileges;

mysql> exit;

(5).设置好密码后还原配置文件,修改文件【/etc/mysql/my.cnf】,在[mysqld]项下,删除刚才添加的【skip-grant-tables】,并执行【(2)】步骤重启服务,用新密码登录mysql

四.问题整理

(一).错误信息:

ERROR 1290(HY000) The MySQL server is running with the

–secure-file-priv option so it cannot execute this statement.

1.问题分析:

这个错误是我在安装mysql后,执行csv文件导出时报出来的,大概的意思就是没有文件修改执行权限,于是查了一下关于【–secure-file-priv】特性介绍,如下:

当secure_file_priv的值为null,表示限制mysqld 不允许导入|导出;

当secure_file_priv的值为/tmp/,表示限制mysqld 的导入|导出只能发生在/tmp/目录下;

当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制;

备注:默认的情况下mysql的这个参数为null

2.解决方案:

(1).查看本地mysql设置

mysql> show global variables like '%secure%';

(2).修改文件【/etc/my.cnf】,追加下面内容,保存后执行【service mysql restart】重启服务

secure-file-priv=

(二).错误信息:

ERROR 1820 (HY000): You must reset your password using

ALTER USER statement before executing this statement.

1.问题分析:

问题1解决好之后,继续执行我们导出语句,报出了这个问题,大概意思就是密码不符合安全策略要求,需要设置一个复杂点的密码

2.解决方案:

mysql> alter user 'root'@'localhost' identified by 'Xiangquba@cn2017';

mysql> flush privileges;

(三).错误信息:

安装【# rpm -ivh ./mysql-community-server-5.7.20-1.el6.x86_64.rpm】或启动mysql时提示下面错误信息

/usr/sbin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

1.问题分析:

缺少依赖的库

2.解决方案:

yum install libnuma1 numactl

(四).错误信息:

执行【select * from user into outfile "/opt/csv/export/xiangquba.csv" FIELDS TERMINATED BY ',';】报错误信息如下

ERROR 1(HY000):Can't create/write to file '/opt/csv/export/xiangquba.csv' (Errcode:13 -Permission denied)

1.问题分析:

先前以为是权限问题,不过我这里已经确保权限没有问题。后来查了一些资料,发现是selinux的问题。所以我们将selinux关闭即可。

2.解决方案:

1).即时生效

setenforce 0

2).永久有效

修改文件【/etc/selinux/config】里的【SELINUX】参数,然后重启。

修改前:SELINUX=enforcing

修改后:SELINUX=disabled

分享到:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值