Mysql的安装
-
首先使用MobaXterm1工具连接Linux。
-
最好使用Root用户进行登录。
-
在Oracle官网下载Linux的JDK安装包(以tar.gz结尾)。
-
使用
cd /usr/local
命令进入该目录下面。 -
使用
mkdir mysql
创建mysql目录。 -
通过
pwd
命令查看当前在哪一个目录下。 -
通过MobaXterm1将mysql的安装包上传到mysql目录下面。
-
上传成功之后通过
tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
解压linux安装包如图:
mysql-community-client-8.0.29-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
mysql-community-common-8.0.29-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.29-1.el7.x86_64.rpm
mysql-community-devel-8.0.29-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.29-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
mysql-community-libs-8.0.29-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.29-1.el7.x86_64.rpm
mysql-community-server-8.0.29-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.29-1.el7.x86_64.rpm
mysql-community-test-8.0.29-1.el7.x86_64.rpm
- 我们需要通过
rpm -qa | grep mariadb
去查看linux有没有默认帮我们安装一些数据库,没有的话就不用卸载。输出如下:
mariadb-libs-5.5.68-1.el7.x86_64
-
通过
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
命令去mariadb-libs-5.5.68-12.el7.x86_64这个数据库。 -
可以在通过
rpm -qa | grep mariadb
去查看mariadb-libs-5.5.68-1.el7.x86_64这个数据库还在没有,没在的话表示卸载成功。 -
通过执行以下命令将mysql进行安装。
rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm --nodeps --force
输出:
警告:mysql-community-common-8.0.29-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-common-8.0.29-1.e################################# [100%]
表示安装完成。
- 再次通过
rpm -qa | grep mysql
查看上面4个是否安装成功。输出:
mysql-community-libs-8.0.29-1.el7.x86_64
mysql-community-client-8.0.29-1.el7.x86_64
mysql-community-server-8.0.29-1.el7.x86_64
mysql-community-common-8.0.29-1.el7.x86_64
表示安装成功。
-
通过
cat /etc/my.cnf
可以查看mysql的配置信息。 -
Linux下的Mysql数据库大小写敏感,所以Sql语句中的表名区分大小写,我们可以通过
vim /etc/my.cnf
来修改mysql的配置,将[mysqld]下面添加lower_case_table_names=1,因为linux默认为0,不要先启动mysql,否则将无法生效。 -
使用
mysqld --initialize
进行mysql的初始化。
在这儿可能会因为mysql版本的问题执行该命令而报错,如果报错:mysqld: error while loading shared libraries libaio.so.1: cannot open shared object file:No such file or directory,则需要安装libaio.so.1包
#方案1 yum install -y libaio
#方案2 yum install -y libaio.so.1
-
通过以下进行服务防火墙授权配置。
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
-
通过
cat /var/log/mysqld.log | grep password
来抓取root用户密码。 -
通过
mysql -u root -p
去登陆mysql。 -
此时将生成用户密码进行登录,密码粘贴看不见的直接确认即可。输出:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.29
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
表示登录成功。
-
通过
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
来修改数据库密码,显示Query OK, 0 rows affected (0.00 sec)表示修改成功。 -
修改成功之后可以通过
exit
退出mysql数据库,再通过mysql -u root -p
去登陆mysql,密码输入root去登陆查看是否登录成功。 -
如果使用navicat连接该数据库未连接成功,可能是因为linux数据库并未开启远程访问,此时通过:
create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
-
如果此时navicat还是连接不上,可能是因为端口未对外开放。本地虚拟机需要开启防火墙。通过
systemctl status firewalld
查看防火墙的状态,如图:active(running)表示防火墙已经开启。 -
通过
firewall-cmd --zone=public --add-port=3306/tcp --permanent
来放行3306端口。 -
通过
firewall-cmd --reload
重新加载即可。 -
通过
ps -ef | grep mysql
去查看mysql服务进程。 -
通过
service mysqld start
重启Linux服务的Mysql。
Mysql8.0.29的卸载
1、先通过 service mysqld stop
关闭mysql服务。
2、再通过 rpm -qa|grep -i mysql
查看安装的mysql。
3、再通过以下命令去着个卸载安装的mysql。
rpm -ev mysql-community-client-8.0.29-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-8.0.29-1.el7.x86_64 --nodeps
rpm -ev mysql-community-common-8.0.29-1.el7.x86_64 --nodeps
rpm -ev mysql-community-libs-8.0.29-1.el7.x86_64 --nodeps
4、通过 find / -name mysql
查看mysql相关目录。
5、通过以下命令去删除mysql以上命令查询出来的相关目录。
rm -rf /var/lib/mysql/
rm -rf /usr/lib64/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /etc/selinux/targeted/tmp/modules/100/mysql
6、通过rm -rf /etc/my.cnf
删除my.cnf。
7、通过rpm -qa|grep -i mysql
检查卸载情况,显示为空,卸载完毕。