Linux环境 MySql详细安装、卸载步骤

Linux系统版本CentOS Linux release 7.5.1804

安装的是mysql5.7.24版本rpm包

一、安装

1.下载MySQL安装包

安装包下载地址:https://downloads.mysql.com/archives/community/

2.详细过程如下(一个一点也不灵活的脚本)

#!/bin/bash
echo '创建用户目录并赋权'
useradd mysql -d /usr/local/mysql

echo '删除CentOS7自带的第三方库'
#rpm -qa | grep mariadb
#rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
echo '环境及依赖安装'
#yum -y install autoconf
#yum -y install perl perl-devel
#yum -y install libaio
#yum -y install net-tools
#yum -y install perl

echo '创建MySQL仓库位置'
mkdir -p /data/mysql
echo '仓库赋权'
chown -R mysql:mysql /data/**

echo '按照依赖关系依次安装 rpm 包,依赖关系依次为 common→libs→client→server。使用命令rpm -ivh {-file-name}进行安装操作。'
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm

echo '设置初始化参数'
cd /usr/sbin
./mysqld \
--initialize \
--user=mysql \
--basedir=/usr/local/mysql
#【这个没弄明白】这个basedir是和mysql启动相关的,但是我这里面是空的

echo '初始化安装'
cd /usr/bin
./mysql_install_db \
--user=mysql \
--datadir=/data/mysql

echo '启动MySQL服务'
systemctl start mysqld
echo '查看MySQL服务状态'
systemctl status mysqld
echo '查看MySQL服务进程信息'
ps -ef|grep mysql

echo '查看系统端口情况'
netstat -lnpt
echo '查看允许访问的端口列表'
firewall-cmd --list-ports
echo '添加3306端口永久可访问'
firewall-cmd --zone=public --add-port=3306/tcp --permanent
echo '刷新防火墙列表'
firewall-cmd --reload

echo '查看MySQL服务是否开机自启动'
systemctl list-units | grep mysqld

echo '打印MySQL初始密码'
grep "password is generated for" /var/log/mysqld.log
cat /root/.mysql_secret
echo '初始密码登录myql服务端,更改初始密码为/root/.mysql_secret中的密码(如果不一样的话)'
mysql -u root -p

echo '使用/root/.mysql_secret中的密码配置MySQL安全策略'
mysql_secure_installation
#No #密码安全级别校验
#y #是否更改当前密码
#123456 #首次输入密码
#123456 #再次输入密码
#y #删除任何人可访问的隐匿账号
#y #设置root账户可远程访问
#y #删除当前测试数据库
#y #立即刷新权限表,是当前配置立即生效

echo '使用新设置的密码,登录myql服务端'
mysql -u root -p

3.用户操作的相关sql语句示例

-- 刷新权限配置
flush privileges;
-- 修改用户密码
alter user 'root'@'%' identified by '123456';
-- 创建用户
CREATE USER query@'%' IDENTIFIED BY '123456';
-- 给用户赋权限,可以查询db_test的table_test表
GRANT SELECT ON db_test.table_test TO 'query'@'%';
GRANT SHOW VIEW ON db_test.table_test TO 'query'@'%';
-- 给用户db_test的所有权限
grant all privileges on db_test to query@'%';
-- 给用户高级DBA管理MySQL中所有数据库的权限
grant all on *.* to query@’localhost’

二、卸载

#!/bin/bash
echo '打印已安装的MySQL包'
rpm -qa | grep -i mysql
echo '关闭MySQL服务'
systemctl stop mysqld
echo '按顺序卸载MySQL包'
rpm -e mysql-community-server-5.7.24-1.el7.x86_64
rpm -e mysql-community-client-5.7.24-1.el7.x86_64
rpm -e mysql-community-libs-5.7.24-1.el7.x86_64
rpm -e mysql-community-common-5.7.24-1.el7.x86_64

echo '查看MySQL用户及用户组'
more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
echo '删除MySQL用户及用户组'
userdel -r mysql

echo '打印已安装的MySQL包'
rpm -qa | grep -i mysql

echo '查询残留的MySQL文件及文件夹'
find / -name mysql
echo '【危险!】删除所有名叫MySQL的文件及文件夹'
rm -rf /**/mysql
rm -rf /**/*/mysql

可能遇到的问题

1.第三方库冲突

安装mysql数据库时,需要rpm安装libs,问题原因就是安装libs时系统存在mariadb的系统包

rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
#得到错误提示如下:
#warning: mysql-community-libs-8.0.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
#error: Failed dependencies:
#mariadb-libs is obsoleted by mysql-community-libs-8.0.18-1.el7.x86_64

#查看系统中的mariadb
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64
#得到错误提示如下:
#提示有第三方库存在
#error: Failed dependencies:
#libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-7.el7.x86_64
#libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-7.el7.x86_64

#解决办法强制删除:
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2.如果中途安装失败可能会遇到如下错误

#error: Failed dependencies:
#    mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.36-1.el7.x86_64
#    mariadb-libs is obsoleted by mysql-community-libs-5.7.36-1.el7.x86_64

#解决方案,运行如下命令
yum remove mysql-libs 
#清除之前安装过的依赖即可,最后重新安装下。

3.缺少安装mysql5.7所需要的依赖

yum -y install libaio
yum -y install net-tools
yum -y install perl

# 安装顺序
# common --> libs --> clients --> server
# 安装命令
rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm mysql-community-libs-5.7.19-1.el6.x86_64.rpm mysql-community-client-5.7.19-1.el6.x86_64.rpm mysql-community-server-5.7.19-1.el6.x86_64.rpm`
posted @ 2022-04-16 09:26  howard4  阅读(322)  评论(0编辑  收藏  举报