目录
1. 安装环境
1.1 删除 mysql 数据库
find / -name mysql
find / -name mysqld
1.1.1 删除所有与 mysql 数据库关联的目录,注意如果是python关联模块为mysql,别乱删除
rm -rf 所有关联的目录(文件夹)
特别是(如果存在的话)
rm -rf /etc/init.d/mysqld
1.2 强制停止 mysql 服务进程
ps -ef |grep mysqld
kill -9 pid编号
ps -ef |grep mysql
kill -9 pid编号
2. 安装mysql 依赖 (yum包安装)
yum -y install libaio
yum -y install numactl
如果报错:-bash: /usr/bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录
ll /usr/bin/python
有可能是软连接问题,导致/usr/bin/yum 文件获取不到 /usr/bin/python 这个python 解释器
修正软连接:
ln -s /usr/local/bin/python3.7 /usr/bin/python
如果使用命令ll /usr/bin/python
,发现还是红色显示的,那么有可能是pythonx.x 已经被你改变位置,或者被删除了,可以用另外版本的python解释器,做为软连接。
比如 ln -s /usr/bin/python3.6 /usr/bin/python
这样就不用了改动 /usr/bin/yum
文件了
如果还是报错 yum 文件问题,如 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: inv
那就不好办了,这个是版本问题,之前安装 yum 时,默认是匹配 python2.x 版本的,而现在笔者是 python3.x版本,python2.x和python3.x版本的语法变化挺多的,不兼容,所以出现这个问题。
ln -s /usr/bin/python2.7 /usr/bin/python
尝试过想要升级 python2 为 python3 版本,记录如下:
Centos 7版本 yum下载(重装yum教程链接里面的地址有问题,笔者将下载链接重新弄好了,如下所示)
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
但是最后笔者发现yum 目前好像就只支持 python2.x版本,所以没法,只能改软连接为 python2.x版本的
3. 判断有无mysql用户
id msyql
groupadd mysql
useradd -r -g mysql mysql
4. 下载mysql tar.gz 安装包
安装包下载链接:MySQL Community Downloads
(或者使用迅雷下载,或者是浏览器下载,然后将安装包上传,winSCP了解下)
cd /home/work/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
改名
mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql/
进入该mysql安装文件内
cd mysql/
4.1 创建相应目录规范化
在 mysql 安装目录内,创建 data、log、tmp 三个文件夹
mkdir -p {data,log,tmp}
————————————– 重点! 重点! 重点!———————————————
上面的三个data、log、tmp目录创建命令修改为如下命令:
只创建 log
、tmp
两个文件夹就好了。(data 文件夹最好不要在一开始就建立,交给初始化mysql时的命令,来建立,否则会由于已经存在了 data文件夹,导致无法安装各种 mysql 服务依赖插件,最终无法启动 mysql 服务)
mkdir -p {log,tmp}
chown -R mysql:mysql /home/work/mysql
5. 定义 /etc/my.cnf
查看有无/etc/my.cnf文件,没有则创建,当然这里笔者没弄过,感觉是之前留下来的文件,如果已经存在了该文件,那么只需要修改里面的配置就好了,如果没有后面可能需要在初始化 mysql数据库时,需要添加相应的 basedir 和 datadir log–error等参数。
/etc/my.cnf
文件内的配置和初始化mysql时的参数配置是对应的
这个文件最为关键,自定义目录mysql安装 精华版安装的核心在于其配置
5.1 默认 /etc/my.cnf 文件存在
vi /etc/my.cnf
参考my.ini 配置链接:my.ini文件参数中文注释
[mysqld]
#user=mysql
port=3306
basedir=/home/work/mysql
datadir=/home/work/mysql/data
socket=/home/work/mysql/mysql.sock
tmpdir=/home/work/mysql/tmp
# 数据库默认字符集编码 urf8 国内通常为 utf8mb4_general_ci
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init-connect='SET NAMES utf8mb4'
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#skip-grant-tables
plugin-load-add=validate_password.so #在mysql启动时载入插件
validate-password=FORCE_PLUS_PERMANENT #为阻止该插件在运行时被删除,设置为永久强制使用
# 弱密码策略永久生效
validate_password_length=6
validate_password_policy=0
#
explicit_defaults_for_timestamp=true
[mysqld_safe]
# mysqld 服务启动日志
log-error=/home/work/mysql/log/mysqld.log
pid-file=/home/work/mysql/mysqld.pid
[mysql]
#设置mysql客户端默认字符集utf8
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/home/work/mysql/mysql.sock
default-character-set=utf8mb4
修改后保存退出。
cd 到 /home/work/mysql/
路径下输入如下命令,初始化 mysql 数据库,最好最好不要按照下面命令去初始化,否则,安装到后面会出现mysqld 服务无法启动的问题。最好带上 --basedir=/home/work/mysql --datadir=/home/work/mysql/data
因为只有这样初始化mysql数据库时,会自动安装各种mysql的配置依赖插件,后面服务才不会缺少某种插件导致无法启动问题。
./bin/mysqld --user=mysql
上面的命令,修改为:(路径请指定更改为自己的mysql安装路径)
./bin/mysqld --user=mysql --initialize --basedir=/home/work/mysql --datadir=/home/work/mysql/data
5.1.1 有可能出现未正确初始化mysql 导致的 mysql 服务无法正常启动问题
如果出现 mysql 服务启动日志内,出现下面的错误,那么请删除 data 文件夹然后重新初始化 mysql,命令为上方的 mysql 初始化命令
5.2 关于配置 my.cnf 配置文件,用于调试mysql数据库,如何调试理解 Starting MySQL. ERROR! The server quit without updating PID file
[mysqld_safe]
log-error=/home/work/mysql/log/mysqld.log
pid-file=/home/work/mysql/mysqld.pid
在my.cnf配置文件内,配置相应需求的参数,那么如果配置出问题,那么又该如何调试,重点在于 /home/work/mysql/log/mysqld.log
(这个路径是笔者的mysql 服务启动日志文件路径,自行替换),如果 mysql 服务启动时出现错误 Starting MySQL. ERROR! The server quit without updating PID file
, 那么便可以在此文件内,查找问题,因为mysql 服务启动,此日志为 mysql 服务启动日志文件。
6. 配置mysql服务
cd /home/work/mysql/support-files
复制到开机启动服务文件目录内
cp mysql.server /etc/init.d/mysqld
7. 修改 /etc/init.d/mysqld 配置文件
vi /etc/init.d/mysqld
默认的安装路径:(如果按上面的my.cnf
配置文件模板去配置的话,就按这个默认安装的配置)
basedir=/home/work/mysql
bindir=/home/work/mysql/bin
datadir=/home/work/mysql/data
sbindir=/home/work/mysql/bin
libexecdir=/home/work/mysql/bin
笔者的安装路径:(env/路径下安装是笔者的个人喜好安装路径,下面的安装,差不多和默认安装一样,只不过多了一个env/
的文件夹路径)
basedir=/home/work/env/mysql
bindir=/home/work/env/mysql/bin
datadir=/home/work/env/mysql/data
sbindir=/home/work/env/mysql/bin
libexecdir=/home/work/env/mysql/bin
原文件内容:
修改后内容:(笔者的个人路径配置,默认安装则将 env/
目录删除)
7.1 特别修改
7.1.1 补充说明
下面的配置是笔者以前找到的方法,但其实仍是一个粗略的方法。假如 启动 mysqld 服务时,会报错下列错误,那么下面的 7.1.2 的粗略方法完全是乱来的。
Starting MySQL. ERROR! The server quit without updating PID file (/home/work/env/mysql/mysqld.pid).
7.1.2 粗略方法
可能会启动不了,如果一直是用 root 用户安装 mysql 的话,所以需要修改一下,用户登录为 root
vi /etc/init.d/mysqld
增加 --user=root
验证登录
如果是默认安装的话,记得把 env/ 目录删除了
ln -s /home/work/mysql/bin/mysql /usr/bin/mysql
笔者的软连接:
ln -s /home/work/env/mysql/bin/mysql /usr/bin/mysql
shell 命令:
mysql -uroot -p
有可能报错,安装mysql 时的报错解决方法集锦
1. 查看Step9.修改 /etc/init.d/mysqld 配置文件
2. ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
4. 启动mysql服务时一直提示ERROR The server quit without updating PID file
5. ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
原文地址:https://blog.csdn.net/qq_42701659/article/details/127529735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_10785.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!