Linux配置Mysql8.0.29

482 阅读4分钟

Mysql的安装

  1. 首先使用MobaXterm1工具连接Linux。

  2. 最好使用Root用户进行登录。

  3. 在Oracle官网下载Linux的JDK安装包(以tar.gz结尾)。

  4. 使用 cd /usr/local 命令进入该目录下面。

  5. 使用 mkdir mysql创建mysql目录。

  6. 通过 pwd 命令查看当前在哪一个目录下。

  7. 通过MobaXterm1将mysql的安装包上传到mysql目录下面。

  8. 上传成功之后通过 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
  1. 我们需要通过 rpm -qa | grep mariadb 去查看linux有没有默认帮我们安装一些数据库,没有的话就不用卸载。输出如下:
mariadb-libs-5.5.68-1.el7.x86_64
  1. 通过 rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps 命令去mariadb-libs-5.5.68-12.el7.x86_64这个数据库。

  2. 可以在通过rpm -qa | grep mariadb 去查看mariadb-libs-5.5.68-1.el7.x86_64这个数据库还在没有,没在的话表示卸载成功。

  3. 通过执行以下命令将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%]

表示安装完成。

  1. 再次通过 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

表示安装成功。

  1. 通过 cat /etc/my.cnf 可以查看mysql的配置信息。

  2. Linux下的Mysql数据库大小写敏感,所以Sql语句中的表名区分大小写,我们可以通过 vim /etc/my.cnf 来修改mysql的配置,将[mysqld]下面添加lower_case_table_names=1,因为linux默认为0,不要先启动mysql,否则将无法生效。

  3. 使用 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

  1. 通过以下进行服务防火墙授权配置。
    chown mysql:mysql /var/lib/mysql -R;
    systemctl start mysqld.service;
    systemctl enable mysqld;

  2. 通过 cat /var/log/mysqld.log | grep password 来抓取root用户密码。

  3. 通过 mysql -u root -p 去登陆mysql。

  4. 此时将生成用户密码进行登录,密码粘贴看不见的直接确认即可。输出:

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.

表示登录成功。

  1. 通过ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';来修改数据库密码,显示Query OK, 0 rows affected (0.00 sec)表示修改成功。

  2. 修改成功之后可以通过 exit 退出mysql数据库,再通过mysql -u root -p 去登陆mysql,密码输入root去登陆查看是否登录成功。

  3. 如果使用navicat连接该数据库未连接成功,可能是因为linux数据库并未开启远程访问,此时通过:create user 'root'@'%' identified with mysql_native_password by 'root'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;

  4. 如果此时navicat还是连接不上,可能是因为端口未对外开放。本地虚拟机需要开启防火墙。通过 systemctl status firewalld 查看防火墙的状态,如图:active(running)表示防火墙已经开启。 image.png

  5. 通过 firewall-cmd --zone=public --add-port=3306/tcp --permanent 来放行3306端口。

  6. 通过 firewall-cmd --reload 重新加载即可。

  7. 通过 ps -ef | grep mysql 去查看mysql服务进程。

  8. 通过 service mysqld start 重启Linux服务的Mysql。

Mysql8.0.29的卸载

1、先通过 service mysqld stop 关闭mysql服务。

2、再通过 rpm -qa|grep -i mysql 查看安装的mysql。 image.png

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检查卸载情况,显示为空,卸载完毕。