Linux安装MySQL

一、先卸载旧版MySQL

== ps:没有安装过MySQL就跳过该步骤 ==

第一种、RPM包安装方式的MySQL卸载

  1. 关闭MySQL服务
[root@hwj .]# service mysql stop
Shutting down MySQL.. SUCCESS! 
[root@hwj /]# service mysql status
 ERROR! MySQL is not running
  1. 删除MySQL对应的文件夹
查找文件
[root@hwj /]#  find / -name mysql
/home/mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/data/mysql
删除文件
[root@hwj /]# rm -rf /var/lib/mysql
[root@hwj /]# rm -rf /var/lib/mysql^C
[root@hwj /]# rm -rf /var/lib/mysql/mysql
[root@hwj /]# rm -rf  /usr/bin/mysql
[root@hwj /]# rm -rf  /usr/lib64/mysql
[root@hwj /]# rm -rf  /usr/share/mysql
[root@hwj /]# rm -rf  /usr/local/mysql
[root@hwj /]# rm -rf  /usr/local/mysql/bin/mysql
[root@hwj /]# rm -rf /usr/local/mysql/data/mysql
  1. 检查MySQL组件。
[root@hwj /]# rpm -qa | grep -i mysql

有组件

mysql-libs-5.1.73-5.el6_6.x86_64

删除组件

rpm -ev MySQL-devel-5.6.23-1.linux_glibc2.5

4,删除mysql用户及用户组

查看
[root@hwj /]# more /etc/group | grep mysql
mysql:x:1000:
[root@hwj /]# more /etc/passwd | grep mysql
mysql:x:998:1000::/home/mysql:/bin/bash
[root@hwj /]# more /etc/shadow | grep mysql
mysql:!!:17438::::::
删除
[root@hwj /]# userdel mysql
[root@hwj /]# groupdel mysql
验证
[root@hwj /]# more /etc/passwd | grep mysql
[root@hwj /]# more /etc/group | grep mysql
[root@hwj /]# more /etc/shadow | grep mysql

以上就完全删除了

第二种、二进制包/源码安装方式的MySQL卸载

  1. 检查MySQL服务并关闭服务进程。
检查mysql进程
[root@hwj /]# ps -ef | grep mysql
mysql     37160      1  0 22:35 pts/0    00:00:02 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=hwj.err --pid-file=/usr/local/mysql/data/hwj.pid --port=3306
root      39367  36584  0 23:39 pts/0    00:00:00 grep --color=auto mysql
杀死进程,关闭服务器
kill -9 37160 
  1. 彻底删除mysql安装目录
查找文件
[root@hwj /]#  find / -name mysql
/home/mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/data/mysql
使用rm -rf 命令删除以上的文件
  1. 删除一些配置文件
[root@hwj /]# rm -f /etc/my.cnf
[root@hwj /]# rm -rf /etc/init.d/mysql.server
  1. 删除MySQL用户以及用户组
[root@hwj /]# userdel mysql
[root@hwj /]# id mysql
id: mysql: no such user

一、下载上传解压MySQL安装包

  1. 官网下载安装包或使用命令下载
[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
  1. 使用ftp工具把安装包上转到服务器
  2. 解压、并移动到对应的目录
解压
[root@hwj software]# tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 
移动文件
[root@hwj software]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

二、安装配置MySQL

1、添加mysql用户组和mysql用户

查看是否有mysql用户组和mysql用户,有就不要添加,没有就添加
[root@hwj /]# cat /etc/group | grep mysql
[root@hwj /]# cat /etc/passwd |grep mysql
添加mysql用户组和mysql用户
[root@hwj /]# groupadd mysql
[root@hwj /]# useradd -r -g mysql mysql
验证是否添加成功
[root@hwj /]# cat /etc/passwd |grep mysql
mysql:x:975:1001::/home/mysql:/bin/bash
[root@hwj /]# cat /etc/passwd |grep mysql
mysql:x:975:1001::/home/mysql:/bin/bash

2、修改权限

创建data 文件
[root@hwj software]# mkdir /usr/local/mysql/data
[root@hwj software]# cd /
更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
[root@hwj /]#  chown -R mysql:mysql /usr/local/mysql
[root@hwj /]# chmod -R 755 /usr/local/mysql

3、初始化数据库

[root@hwj /]# cd /usr/local/mysql/bin/
[root@hwj bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

在这里插入图片描述
如果提示下面信息
在这里插入图片描述
解决方法:
a、使用df命令查看内存大小,如果内存满了,就删除以下无用的日志文件,重启mysql服务
b、可能/usr/local/mysql/data/mysql.pid文件没有写的权限

给予权限,执行 
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
然后重新启动mysqld!

c、查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令

#查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
#结束进程
kill -9 PID
#启动服务
 /usr/local/mysql/support-files/mysql.server start

d、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
如果mysql的数据目录/data看看存在mysql-bin.index,就删除。
e、可能/etc/my.cnf配置文件错误
请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

f、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

g、selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
h、mysqk.sock.lock文件出错
查看报错日志

cat /use/local/mysql/hwj.err

在这里插入图片描述
删除mysql.sock.lock

cd /tem
rm -rf mysql.sock.lock
然后重启mysql服务

在这里插入图片描述

4. 添加软连接,并重启mysql服务

[root@hwj /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
[root@hwj /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@hwj /]#  service mysql restart

5. 登录mysql,修改密码(密码是初始化数据库生成的密码)

[root@hwj /]#  mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');

6. 开放远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

在这里插入图片描述

7. 开机自启

[root@hwj init.d]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@hwj init.d]# chmod +x /etc/init.d/mysqld
[root@hwj init.d]# chkconfig --add mysqld
[root@hwj init.d]# chkconfig --list

在这里插入图片描述

9. 验证

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值