Linux安装MySql 5.7.20以及彻底卸载mysql服务

25 篇文章 6 订阅
11 篇文章 1 订阅

目录

1 安装mysql5.7.20

1.1 把下载的mysql5.7.20放到目录:/usr/local/

1.2 卸载cenos上预装的mysql

1.3 解压压缩包

1.4 创建用户组以及用户

1.5 创建配置文件保存并退出

1.6 初始化数据库并查看初始密码

1.7 启动服务,进入mysql,修改初始密码

1.8 开机自启

1.9 service启动

1.10 Linux系统内核优化

2 彻底卸载mysql5.7.20

2.1 卸载yum方式安装的mysql

2.2 卸载rpm方式安装的mysql

2.3 删除mysql相关的服务

2.4 找出OS中分散的mysql文件夹,并删除


1 安装mysql5.7.20

首先声明一点,mysql5.7.20和之前的5.7.16版本不同,解压后没有data文件,需要自己建立

1.1 把下载的mysql5.7.20放到目录:/usr/local/

1.2 卸载cenos上预装的mysql

查看已安装:
[root@hadoop /]#rpm -qa|grep -i mysql
mysql-libs-5.1.71-1.el6.x86_64
卸载预安装:
[root@hadoop /]#rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
再次查看查不出来说明没有预装:
[root@hadoop /]# rpm -qa|grep-i mysql

1.3 解压压缩包

在linux /usr/local/中解压mysql压缩包改名为mysql,并在解压后的文件里面创建文件夹data

切换到目标路径:
cd /usr/local/
解压mysql包:
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
重命名:
mv mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz mysql
cd /usr/local/mysql
创建数据库文件夹data:
mkdir data

1.4 创建用户组以及用户

创建用户组mysql,创建用户mysql并将其添加到用户组mysql中,并赋予读写权限

groupadd mysql --创建mysql用户组组
useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中
chown -R mysql mysql/ --将mysql目录访问权限赋为myql用户
chgrp -R mysql mysql/ --改变mysql目录的用户组属于mysql组

1.5 创建配置文件保存并退出

创建配置文件: vim /etc/my.cnf

在mysql文件夹下创建配置文件夹data(很重要): mkdir data

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB 
# 服务端使用的字符集默认为 UTF8 
character_set_server=utf8

init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#不区分大小写
lower_case_table_names = 1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

max_connections=5000

default-time_zone = '+8:00'

保存内容,按esc输入如下命令:wq!

注意,报错:

  • 报错一:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 
    由于配置文件socket的位置不是/tmp/mysql.sock,只需修改为/tmp/mysql.sock即可
  • 报错二:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    在[mysqld]下添加skip-grant-tables,保存即可(登录时跳过权限检查)
  • 报错三:Plugin mysqlx reported: 'Setup of socket: '/tmp/mysqlx.sock' failed, can't open lock file /tmp/mysqlx.sock.lock'
    直接把socket指定的目录下的以mysql打头的文件给删除掉

1.6 初始化数据库并查看初始密码

#先安装一下这个,要不然初始化有可能会报错
yum install libaio
#手动编辑一下日志文件,什么也不用写,直接保存退出
cd /var/log/

vim mysqld.log

:wq

chmod 命令:用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
chmod 777 mysqld.log  

chown mysql:mysql mysqld.log

#这是一行的文本,不要换行
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US


#查看初始密码
cat /var/log/mysqld.log
执行后关注最后一点:root@localhost: 这里就是初始密码

1.7 启动服务,进入mysql,修改初始密码

#一些必须的基本操作
cd /var/run/
mkdir mysqld
chmod 777 mysqld
cd mysqld
vim mysqld.pid
chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid 
#在mysql的support-files文件夹下执行
cd  /usr/local/mysql/support-files
#启动服务
./mysql.server start
登录服务
cd /usr/local/mysql/bin
./mysql -u root -p  注意:在此处直接回车,然后输入临时密码

修改密码:set password=password("root");

点击参考不同版本修改密码方法

注意:NAT模式的网络配置,可能不会被外部网络访问,因此,需要加入"%"授权,以便外部主机连接

登录授权:grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
授权生效:flush privileges;

此处是赋予权限命令详解: 

 

 注意:退出时,用exit命令就可以退出sql命令模式或者ctrl+c

mysql8 授权方法:

正确的写法是先创建用户
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
再给用户授权
grant all privileges on *.* to 'root'@'%' ; 
授权生效
flush privileges;

1.8 开机自启

cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
#将mysql目录填上:
vi /etc/init.d/mysql
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/

授权:chmod +x /etc/init.d/mysql

设为开机启动:chkconfig --add mysqld(或者chkconfig --add mysql)

1.9 service启动

重启服务:service mysql restart

停止服务:service mysql stop

启动服务:service mysql start

查看服务:service mysql status

注意:以上命令也可以用mysqld来代替mysql

1.10 Linux系统内核优化

大多数MySQL都部署在linux系统上,所以操作系统的一些参数也会影响到MySQL性能,以下对linux内核进行适当优化

net.ipv4.tcp_fin_timeout = 30 #TIME_WAIT超时时间,默认是60s

net.ipv4.tcp_tw_reuse = 1    
#1表示开启复用,允许TIME_WAIT socket重新用于新的TCP连接,0表示关闭

net.ipv4.tcp_tw_recycle = 1  
#1表示开启TIME_WAIT socket快速回收,0表示关闭

net.ipv4.tcp_max_tw_buckets = 4096   
#系统保持TIME_WAIT socket最大数量,如果超出这个数,系统将随机清除一些TIME_WAIT并打印警告信息

net.ipv4.tcp_max_syn_backlog = 4096
#进入SYN队列最大长度,加大队列长度可容纳更多的等待连接
在linux系统中,如果进程打开的文件句柄数量超过系统默认值1024,就会提示“too many files open”信息,所以要调整打开文件句柄限制。
vi /etc/security/limits.conf  
#加入以下配置,*代表所有用户,也可以指定用户,重启系统生效
* soft nofile 65535* hard nofile 65535# ulimit -SHn 65535   #立刻生效

2 彻底卸载mysql5.7.20

2.1 卸载yum方式安装的mysql

使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可):

yum remove mysql mysql-server mysql-libs compat-mysql51

rm -rf /var/lib/mysq

rm /etc/my.cnf

2.2 卸载rpm方式安装的mysql

使用rpm方式安装的mysql,类似于windows中安装.exe文件,按如下步骤进行处理:

查看系统中是否以rpm包安装的mysql:
rpm -qa | grep -i mysql
使用rpm -e 命令将上个命令中包列表一一进行卸载。

2.3 删除mysql相关的服务

chkconfig --list | grep -i mysql
chkconfig --del mysql

2.4 找出OS中分散的mysql文件夹,并删除

find / -name mysql
最后清空mysql相关的的所有目录以及文件
rm -rf 。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值