RedHat 6 安装 MySQL 5.5 流程记录及相关问题解决方案
- 1. RedHat 中 使用 yum 方式安装 MySQL
- 2. 安装过程中遇到的问题
- ★ ERROR! MySQL server PID file could not be found!
- ★ ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/tmp/mysql.sock'
- ★ Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/data/myDBserver.pid
- ★ 关于远程访问mysql出现Access denied for user 'root'@'
- ★ 配置防火墙,开启3306端口
1. RedHat 中 使用 yum 方式安装 MySQL
1.1 删除系统自带的 MySQL 5.1
rpm -qa | grep mysql #查看已经安装的mysql
rpm -e mysql #普通删除模式
rpm -e --nodeps mysql #强力删除模式
1.2 使用yum卸载rpm包防止 mysql 安装冲突
yum -y remove mysql-libs-5.1.66*
1.3 创建本地的 yum 资源库配置
vi /etc/yum.repos.d/local.repo
加入如下一段内容:
[localrepo]
name = myLocalYumRepo
baseurl = /home/rhel/Downloads/MySQL-5.5.58-l.el6-rpm
gpgcheck = 0
enable = 1
其中 baseurl
指向了我的 MySQL rpm 包所在路径。
1.4 yum 安装 MySQL
配置好 local_yum_repo
之后,cd
进入 baseurl
所在目录,就可以安装下面三个:
yum install MySQL-server-5.5.58-1.el6.x86_64.rpm
yum install MySQL-client-5.5.58-1.el6.x86_64.rpm
yum install MySQL-devel-5.5.58-1.el6.x86_64.rpm
1.4.1 卸载 MySQL
先用命令查看一下,有哪些已经安装的 mysql 程序:
rpm -qa|grep -i mysql
使用 rpm 方式安装的采用下面的命令卸载:
rpm -ev MySQL-client-5.5.58-1.el6.x86_64 --nodeps
rpm -ev MySQL-devel-5.5.58-1.el6.x86_64 --nodeps
rpm -ev MySQL-server-5.5.58-1.el6.x86_64 --nodeps
查找原有的 mysql 目录:
find / -name mysql
找到如下内容,一 一 删除:
rm -rf /usr/lib64/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/data/mysql
rm -rf /var/lib/mysql/mysql
手动删除 /etc/my.cnf
rm -rf /etc/my.cnf
最后再检查一下时候还有安装 的 mysql:
rpm -qa|grep -i mysql
没有显示的话,就说明已经卸载完毕。
1.5 安装完之后的目录介绍
安装后 MySQL主要的默认存放文件目录:
/usr/bin #这里存放脚本和客户端程序
/var/lib/mysql #mysql的数据存储目录
/usr/share/mysql #mysql存放的初始化相关脚本
1.6 MySQL 配置文件
编辑:vi /etc/my.cnf
# The MySQL Client
[client]
#客户端默认连接字集集,若编译安装时已指定则不用填写
#character-set-server = utf8
#客户端连接通信端口
port = 3306
#客户端通信的用户密码端口等信息保存文件
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
# The MySQL server
[mysqld]
#mysql服务端监听端口
port = 3306
#mysql数据库存放目录
datadir = /var/lib/mysql/data
socket = /var/lib/mysql/mysql.sock
#服务端pid进程文件,若丢失则重启Mysql重新生成,若重启失败,
#则可能由于mysqld进程未杀死,用pkill mysql后则能重启成功Mysql
#pid-file =/opt/mysql/data/myDBserver.pid
bind-address = 0.0.0.0
[mysql]
socket = /var/lib/mysql/mysql.sock
1.7 初始化 MySQL
使用默认路径:
/usr/bin/mysql_install_db --user=mysql
1.8 将 mysql 目录所有者及用户组修改为 "mysql"
chown -R mysql /var/lib/mysql/
chgrp -R mysql /var/lib/mysql/
1.9 启动和停止 MySQL
启动 MySQL 服务:
#/etc/init.d/mysqld start # rhel 没有这个命令
/etc/init.d/mysql start
停止 MySQL 服务:
/etc/init.d/mysql stop
1.10 修改 MySQL root 用户的默认密码
(1)方式 1:
先使用命令:
mysql
进入 MySQL执行 SQL 语句更新 root 密码
update mysql.user set password=PASSWORD('Cs123456') where user='root';
刷新一下权限,就可以了。
flush privileges;
(2)方式 2:
修改 root 用户密码的另一种方式,执行 shell 命令:
mysqladmin -u root password Cs123456
1.11 登录 MySQL 的命令格式
mysql [-u username] [-h host] [-p[password]] [dbname]
例如:
mysql -u root -pCs123456 -h localhost
1.12 为 root 的远程连接授权
mysql -uroot -p'Cs123456'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果不想给 root 授权远程连接,我们可以新建一个用户专门用作远程连接使用,比如 ”test“:
create user test identified by 'Cs123456';
grant all privileges on *.* to 'test'@'%'identified by 'Cs123456' with grant option;
flush privileges;
@'%'
的意思是对所有的 IP 地址开放。
修改用户密码可以使用下面的语句:
update mysql.user set password=password('新密码') where User="test" and Host="localhost";
flush privileges;
删除用户:
delete from user where User='test' and Host='localhost';
flush privileges;
1.13 解决 MySQL 无法远程连接的问题
vi /etc/my.cnf
将 bind-address = 127.0.0.1
,设置成 bind-address = 0.0.0.0
2. 安装过程中遇到的问题
★ ERROR! MySQL server PID file could not be found!
原因:MySQL 进程卡死。
解决方法:
1.杀死mysql进程:killall mysqld
2.重启mysql:service mysql start
★ ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/tmp/mysql.sock'
原因:可能是 mysql.sock
文件的位置不正确
解决方法:
1、先找到 mysql.sock
的位置:
lsof -c mysqld|grep sock$
找到了这个路径:/var/lib/mysql/mysql.sock
2、vi /etc/my.cnf
配置 [mysqld]
[mysql]
和 [client]
,将 socket 的路径改成上面查出来的路径。
★ Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/data/myDBserver.pid
可能原因:上一次 MySQL 非正常关闭
解决方法:创建一个 myDBserver.pid 空文件,并且随便设置一个进程中没有的 pid
vi /var/lib/mysql/data/myDBserver.pid
23432
然后重启 MySQL 服务,如果没有其他的原因的话,就可以正常启动了。
★ 关于远程访问mysql出现Access denied for user 'root'@'
两种情况会导致这个问题:
(1)root 密码输入错误
(2)在 mysql 服务端没有开放 root 对外远程连接的授权。解决方法可参考(1.)
★ 配置防火墙,开启3306端口
先查看一下 防火墙开放的端口:
iptables -nL --line-number
显示DROP代表防火墙阻止了3306端口。
更改 防火墙,放开 3306 端口:
vim /etc/sysconfig/iptables
在 COMMIT 上一行加入如下内容:
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
重启防火墙:
service iptables restart
查看 3306 是否变为 ACCEPT
,如果是就表示已经开放端口啦。
RedHat 6 安装 MySQL 5.5 流程记录及相关问题解决方案的更多相关文章
- redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysqlserver端和client,改动mysqlusername,登陆mysql,启动关闭mysql
1 将相关的mysql rpm包上传到redhat上 2 我的电脑是Redhat 6.*版本号.所以这里使用上面一个 3 解压zip包 4 安装下面几个rpm MySQL-client-a ...
- Centos 6.5 RedHat 6 安装mysql
所需文件列表, 这些文件在安装光盘内的Packages文件夹内, 也可以到MySQL官方网站下载其他版本(需要FQ). 将这些文件放在/usr/loca/src文件夹: -.el6.x86_64.rp ...
- contos 7/redhat 7 安装mysql
1.给网卡配置ip.掩码.网关 2.添加dns,编辑文件:/etc/resolve.conf nameserver 202.96.209.133 //上海本地dns nameserve ...
- win7 安装mysql 5.7.9记录
-------------------------------------------------------------------------- 1. 将配置文件my.ini配置好,放到c:/wi ...
- LNMP搭建01 -- 编译安装MySQL 5.6.14 和 LNMP相关的区别
[编译安装MySQL 5.6.14] [http://www.cnblogs.com/xiongpq/p/3384681.html ] [mysql-5.6.14.tar.gz 下载] http:/ ...
- kali linux 安装 Mysql Can't read from messagefile 报错解决方案
1.下载安装包 下载地点:https://dev.mysql.com/downloads/mysql/ 或者 wget http://dev.mysql.com/get/Downloads/MySQL ...
- centos7在线yum安装mysql时官方镜像下载过慢的解决方案
帮客户调试数据库,搭建一测试环境,centos7最小化安装后,在线安装mysql. 步骤: 1. wget -i http://dev.mysql.com/get/mysql57-community- ...
- Windows 7下安装MySQL Server卡在Apply Security Settings的解决方案(转)
如果操作无效,请卸载MySQL Server后换一个位置安装 例如默认的是C:\Program Files\MySQL 安装时选Custom修改到D:\Program Files\MySQL试试 == ...
- RedHat下安装MySQL
下载mysql 解压tar -xvf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar 安装MySQL-server包 rpm -ivh mysql-community ...
随机推荐
- 【HDU6216】 A Cubic number and A Cubic Number 和 广工的加强版
题目传送门_杭电版 题目传送门_广工版 广工版的是杭电版的加强版. 题意:判断一个质数是否是两个整数的立方差 ---- 数学题 题解: 根据立方差公式:\(a^3 - b^3 = (a - b)(a^ ...
- 牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!
阅读本文大概需要 4 分钟. 作者:Sevenvidia https://www.zhihu.com/question/20125256/answer/324121308 什么是Lambda? 我们知 ...
- Golang(六)time 包的用法整理
1. 常用结构体 Duration:type Duration int64,时间长度,对应单位包括 Nanosecond(纳秒).Microsecond(微妙).Millisecond(毫秒).Sec ...
- Gamma阶段第六次scrum meeting
每日任务内容 队员 昨日完成任务 明日要完成的任务 张圆宁 #91 用户体验与优化https://github.com/rRetr0Git/rateMyCourse/issues/91(持续完成) # ...
- TRex,一个基于DPDK的数据包发生器,测试仪
1. introduction TRex是cisco基于Intel dpdk开发的软件程序.推荐在CentOS/RHEL 7.6, 64bits中运行,否则connectx-4网卡不可使用. 笔者在U ...
- Win 10 设置右键以管理员方式打开 CMD 窗口
Add_Open_Command_Window_Here_as_Administrator.reg Windows Registry Editor Version 5.00 [-HKEY_CLASSE ...
- [转帖]如何获得一个Oracle RAC数据库(从Github - oracle/vagrant-boxes) --- 暂时未测试成功 公司网络太差了..
如何获得一个Oracle RAC数据库(从Github - oracle/vagrant-boxes) 2019-11-20 16:40:36 dingdingfish 阅读数 5更多 分类专栏: 如 ...
- CLH lock 原理及JAVA实现
--喜欢记得关注我哟[shoshana]-- 前记 JUC中的Lock中最核心的类AQS,其中AQS使用到了CLH队列的变种,故来研究一下CLH队列的原理及JAVA实现 一. CLH背景知识 SMP ...
- Scala Type Parameters 2
类型关系 Scala 支持在泛型类上使用型变注释,用来表示复杂类型.组合类型的子类型关系间的相关性 协变 +T,变化方向相同,通常用在生产 假设 A extends T, 对于 Clazz[+T],则 ...
- SpringBoot:3.SpringBoot使用Spring-data-jpa实现数据库访问
做Web开发,首先要能将数据渲染到网页中展示,其次是要获取数据库数据展示到视图层,在前面的文章SpringBoot整合Thymeleaf模板引擎渲染web视图,我们实现了从后端数据展示到视图层,那么下 ...