Linux下rpm 方式 安装mysql 以及卸载mysql

时间:2024-03-22 22:54:06
1.卸载已安装的mysql
(1).卸载mysql
输入如下命令,查看是否已安装mysql
#rpm -qa | grep -i mysql

如果系统返回以mysql开头的软件包信息(如图所示),则需先卸载已装mysql版本;如果没有返回信息,则无需进行卸载操作。

Linux下rpm 方式 安装mysql 以及卸载mysql

卸载已安装的mysql软件包,卸载之前请确认mysql服务已关闭
#systemctl status mysql.service    查看mysql状态
若mysql为running状态,则先停止
#systemctl stop mysql.service

使用命令列出已安装的mysql项
#rpm -qa|grep mysql
然后使用如下命令开始卸载mysql
#rpm -e --nodeps MySQL-server-5.6.29-1.el7.x86_64
--nodeps:表示强制卸载,如果因为依赖关系导致卸载不成功,加上强制卸载选项--nodeps

(2).删除文件和目录
删除旧版本的mysql文件和目录。输入如下命令查看待删除的文件目录
#find / -name "mysql"
Linux下rpm 方式 安装mysql 以及卸载mysql

输入如下命令删除文件
#rm  -rf  /var/lib/mysql/mysql
#rm  -rf  /var/lib/mysql
#rm  -rf  /var/lib64/mysql
Linux下rpm 方式 安装mysql 以及卸载mysql

(3).删除配置文件
#rm  -rf  /etc/my.cnf

Linux下rpm 方式 安装mysql 以及卸载mysql

(4).删除mysql用户以及用户组
#id mysql
#userdel mysql

Linux下rpm 方式 安装mysql 以及卸载mysql


①.卸载系统默认安装的Mariadb
输入如下命令查看系统已安装的mariadb软件包
# rpm qa | grep -i mariadb

Linux下rpm 方式 安装mysql 以及卸载mysql

执行命令卸载
#rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
#rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64
#rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64
执行命令卸载
#rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
#rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64
#rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64

Linux下rpm 方式 安装mysql 以及卸载mysql

在使用rpm qa | grep -i mariadb命令查看是否已全部卸载

3.下载mysql
在大多数情况下,需要安装
mysql-community-server
mysql-community-client
mysql-community-libs
mysql-community-common
mysql-community-libs-compat
这五个安装包,才能获得一个标准功能的MySQL。

到官网上下载对应的安装包:
mysql-community-server-5.7.11-1.el7.x86_64.rpm;
mysql-community-client-5.7.11-1.el7.x86_64.rpm;
mysql-community-libs-5.7.11-1.el7.x86_64.rpm;
mysql-community-libs-compat-5.7.11-1.el7.x86_64.rpm;
mysql-community-common-5.7.11-1.el7.x86_64.rpm;

网址:http://www.mysql.com/

Linux下rpm 方式 安装mysql 以及卸载mysql

Linux下rpm 方式 安装mysql 以及卸载mysql

Linux下rpm 方式 安装mysql 以及卸载mysql

4.安装mysql

(1).将下载完成后使用xshell中的rz命令上传到/usr/local/mysql5.7.11目录下

Linux下rpm 方式 安装mysql 以及卸载mysql


Linux下rpm 方式 安装mysql 以及卸载mysql

(2).授予安装包可执行权限
使用命令:chmod 755  mysql*


Linux下rpm 方式 安装mysql 以及卸载mysql

(3).安装
依次执行如下命令,注意命令执行的顺序
#rpm -ivh mysql-community-common-5.7.11-1.el7.x86_64.rpm
#rpm -ivh mysql-community-libs-5.7.11-1.el7.x86_64.rpm
#rpm -ivh mysql-community-libs-compat-5.7.11-1.el7.x86_64.rpm
#rpm -ivh mysql-community-client-5.7.11-1.el7.x86_64.rpm
#rpm -ivh mysql-community-server-5.7.11-1.el7.x86_64.rpm
注意:是依次执行,不要乱了顺序,因为它们之间有依赖关系
Linux下rpm 方式 安装mysql 以及卸载mysql


安装时出现如下错误:
Linux下rpm 方式 安装mysql 以及卸载mysql

原因:系统已经安装了其他版本的mysql-libs包和mysql数据库文件导致不兼容
解决方法:执行命令yum remove mysql-libs

5.启动mysql服务,并获取数据库超级用户root的密码
(1).启动mysql服务
启动mysql服务:#systemctl start mysqld.service
查看mysql状态:#systemctl status mysqld.service或#/bin/systemctl status mysqld.service
Linux下rpm 方式 安装mysql 以及卸载mysql

(2).获取数据库超级用户root的密码
mysql5.7.11版本的root用户初始密码不再存储在/root/.mysql_secret文件中,
而是存在错误日志中/var/log/mysqld.log;
输入如下命令查看初始密码:
#grep 'temporary password' /var/log/mysqld.log

Linux下rpm 方式 安装mysql 以及卸载mysql


如果查询不到,请参考下面的注意内容进行处理。
注意:如果操作环境是之前已经安装过mysql的服务器,再卸载重新安装的情况,需要再次进行初始化,才能产生root用户的初始密码;参照如下操作进行:
先关闭mysql服务:
启动mysql服务:#systemctl start mysqld.service
查看mysql状态:#systemctl status mysqld.service或#/bin/systemctl status mysqld.service

删除原数据目录,执行初始化命令:
#rm -rf /var/lib/mysql
#rm -rf /var/log/mysqld.log
#cd /usr/sbin
#mysqld  --initialize  --user=mysql
查看生成的root初始密码:
#grep 'temporary password' /var/log/mysqld.log

(3).修改root用户密码
用初始密码登陆,并修改root用户密码
注意,该版本的MySQL对用户密码安全性有所加强,所以设置的密码必须包含至少一个数字、一个大写字母、一个小写字母和一个特殊符号的组合,密码长度至少8个字符。

登录
[[email protected] tmp]# mysql -uroot -p
Enter password:[输入上一步查询到的初始密码]

修改密码,使用flush privileges使修改后立即生效
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Huroot.1996'
mysql> flush privileges;
Linux下rpm 方式 安装mysql 以及卸载mysql
上图表示表示root用户没有权限,按如下操作
①停止mysql服务
    # sudo systemctl stop mysqld.service    

②设置mysql启动时不启动授权表grant-tables
    # sudo systemctl set-environment MYSQLD_OPTS="--user=mysql --skip-grant-tables --skip-networking"

③启动mysql服务
    # sudo systemctl start mysqld.service    

④登录mysql
    # mysql -u root mysql

⑤修改密码
    mysql > UPDATE mysql.user SET authentication_string=PASSWORD("root_david_1996")  WHERE user='root' 
                   and host='localhost';
    mysql > flush privileges;
    mysql > exit;

⑥回复步骤2,启动mysql时启动授权表
    # sudo systemctl unset-environment MYSQLD_OPTS

⑦重启mysql
    # sudo systemctl restart mysqld.service
①-⑦

Linux下rpm 方式 安装mysql 以及卸载mysql
⑧使用修改后的密码登录mysql
[[email protected] tmp]# mysql -uroot -p
Enter password:root_david_1996
Linux下rpm 方式 安装mysql 以及卸载mysql

⑨登录成功后,使用ALTER语句修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_David1996!';
mysql> flush privileges;

Linux下rpm 方式 安装mysql 以及卸载mysql

Linux下rpm 方式 安装mysql 以及卸载mysql

6.配置root用户远程登陆权限
用新设置的密码登陆mysql数据库
[[email protected] tmp]# mysql -uroot -p
Enter password:root_David1996!

输入如下命令给root用户配置远程连接权限
注意:用户名和密码要填写正确
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root_David1996!' with grant option;
mysql> flush privileges;
Linux下rpm 方式 安装mysql 以及卸载mysql

7.设置防火墙规则,打开mysql服务3306端口
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload
Linux下rpm 方式 安装mysql 以及卸载mysql

8.mysql相关文件默认存放路径

Linux下rpm 方式 安装mysql 以及卸载mysql

9.使用navicat或其他工具连接mysql
Linux下rpm 方式 安装mysql 以及卸载mysql

常见问题处理
(1).错误信息:Lost connection to MySQL server at ‘reading initial communication packet', system error: 0
Linux下rpm 方式 安装mysql 以及卸载mysql

错误原因:连接初始化阶段就丢失了连接

解决方法:
找到并修改my.cnf文件,进行如下操作
不同的linux系统下,可能存放的路径不同
一般只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下
已CentOS7为例
使用vi编辑器打开my.cnf文件(vim /etc/my.cnf)

Linux下rpm 方式 安装mysql 以及卸载mysql

看看是否有绑定本地回环地址的配置,如果有,注释掉下面这段文字:(在文字之前加上#号即可)
代码如下:
bind-address = 127.0.0.1

然后找到[mysqld]部分的参数,在配置后面建立一个新行,添加下面这个参数:
skip-name-resolve
保存文件并重启MySQL:systemctl restart mysqld.service

(2).错误信息:Access denied for user 'root'@'192.168.1.17'(using password:YES)

Linux下rpm 方式 安装mysql 以及卸载mysql



错误原因:没有给root用户授予远程登录权限

解决方法:在本地登录后,执行如下命令
注意:用户名和密码要填写正确
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root_David1996!' with grant option;
mysql> flush privileges;

(3).Can't connect to MySQL server on 'localhost'(10038)

Linux下rpm 方式 安装mysql 以及卸载mysql

错误原因:mysql服务没有启动




复制数据库DB文件
cp -a /mnt/var/lib/mysql/ytb /var/lib/mysql/

服务停止:
/etc/init.d/mysql stop

服务启动
/etc/init.d/mysql start