linux安装mysql 8.0

155 阅读6分钟

MySQL的身份验证处理在8.0版本上进行了更改,因此您需要完整地说明要更改的MySQL版本。但是我们可以提供一些一般的概念。

在早期的MySQL版本中,使用mysql_native_password方法进行身份验证。而从MySQL 8.0版本开始,默认会使用caching_sha2_password方法。如果您的应用程序或工具无法与新的默认身份验证协议兼容,则可以考虑更改回旧的身份验证协议(mysql_native_password)。

下面是更改MySQL身份验证协议的步骤:

1.以管理员身份登录到MySQL服务器。

2.通过以下命令检查服务器正在使用的默认身份验证插件:

SELECT plugin FROM mysql.user WHERE User='root';

3.将默认插件更改为旧的身份验证插件(mysql_native_password)。执行以下SQL语句来进行更改:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

这将更改'root'用户的身份验证插件为旧的身份验证插件(mysql_native_password)并设置密码。

4.运行以下命令来刷新特权表:

FLUSH PRIVILEGES;

5.最后,您可以通过以下命令再次确认已经更改了身份验证方式

SELECT plugin FROM mysql.user WHERE User='root';

这些步骤将更改MySQL身份验证协议为旧版本,并将现有用户的身份验证方法更改为mysql_native_password。

注:更改身份验证方法可能会影响现有应用程序,请确保在更改之前进行测试,并在生产环境中谨慎操作。

linux安装mysql 8.0(正式环境)****

安装之前需要确认机器上是否安装过mysql如果已经安装过.需要清理掉.** 1.检查是否已经安装过mysql :**

rpm -qa | grep mysql

如果环境中有遗留mysql则执行删除命令:rpm -e --nodeps mysql-xxxxxxxxx
2.查询遗留的mysql设置或命令,执行两条命令

whereis mysql

find / -name mysql

00004. 

如通过上述两条命令发现有遗留,则执行清除命令,将所有查到的mysql都删除 :

rm -rf  xxx xxx

3、检查mysql用户组和用户是否存在,如果没有,则创建,有的话可以不用添加.
查看是否存在mysql用户的命令:

00001. 

cat /etc/group | grep mysql

00002. 

00003. 

cat /etc/passwd |grep mysql

00004. 

执行命令出现如下内容说明用户组和用户已存在:

就不需要执行添加mysql用户命令.

 

增加 mysql 用户的命令:

00001. 

groupadd mysql

00002. 

00003. 

useradd -r -g mysql mysql

00004. 

正式开始安装****

1.从官网下载用于Linux的Mysql安装包.两种方法
第一:如果你的linux 系统有外网,则直接通过命令下载到linux系统上:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz**

**

T ar 可以直接 网址输入:**

https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

**

3、开始解压、安装

1.  进入 cd /usr/local 目录下.然后上传压缩包

2. 解压 tar -xvf  mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

3. 对解压出来的文件重命名 mv mysql-8.0.20-linux-glibc2.12-x86_64  mysql

4. 进入 /usr/local/mysql 目录创建文件夹 

00001. 

#mysql数据存储目录

00002. 

00003. 

mkdir data

00004. 

00005. 

#mysql日志存放目录

00006. 

00007. 

mkdir log

00008. 

5. 将指定文件的拥有者改为指定的用户或组

chown -R mysql:mysql ./  

6. 进入/var/lib目录  cd /var/lib

7. 创建mysql目录 mkdir mysql

8. 修改权限 chmod 777 mysql

9. 修改配置文件 vim /etc/my.cnf 内容如下

[mysql]

#mysql客户端默认字符集

default-character-set=utf8

 

[mysqld]

default_authentication_plugin = mysql_native_password

#mysql忽略大小写

lower-case-table-names=1

#设置3306端口

port = 3306

socket=/var/lib/mysql/mysql.sock

 

#设置mysql的安装目录

basedir=/usr/local/mysql

 

#设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

 

#允许最大连接数

max_connections=3000

 

#最大等待时间

wait_timeout=3153600

 

#服务端使用的字符集

character-set-server=utf8

 

#创建新表时将使用的默认存储引擎

default-storage-engine = InnoDB

 

#日志

 

#允许做大数据包

max_allowed_packet=128M

 

[client]

port=3306

socket=/var/lib/mysql/mysql.sock

直接使用该配置文件即可

在cd /usr/local/mysql 目录下执行命令初始化mysql

10. 

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

如果初始化失败,报错信息如下.

11. 

./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

12. 

出现上面的错误信息是缺少numactl,执行下面命令可以解决 

13. 

yum -y install numactl

14. 

           再次执行初始化mysql命令

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 初始化mysql 密码 记住他

设置开机自启动****

1. 复制脚本资源到启动目录,在/usr/local/mysql 目录下执行命令

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

2. 增加mysql服务控制脚本权限

chmod +x /etc/rc.d/init.d/mysqld

 

3. 将 mysqld 服务加入到系统服务

chkconfig --add mysqld

4. 检查mysqld服务是否已经生效

chkconfig --list mysqld

5. 启动mysql

service mysqld start

6. 登录mysql  mysql -uroot -p密码

7. 修改初始化密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

 

 

 要更改Linux上的MySQL 8.0身份验证协议,可以按照以下步骤进行操作:

 

  1. 以root用户身份登录到Linux系统中。如果没有root权限,可以使用sudo命令执行以下步骤。

 

  1. 启动MySQL服务。使用以下命令启动MySQL服务:

 

   ```

   systemctl start mysql

   ```

 

  1. 登录到MySQL shell。使用以下命令登录到MySQL shell:

 

   ```

   mysql -u root -p

   ```

 

   系统将提示您输入root用户的密码。在输入密码后,请按Enter键登录到MySQL shell。

 

  1. 查看当前的身份验证插件。使用以下命令查看当前的身份验证插件:

 

   ```

   SELECT user, authentication_string, plugin FROM mysql.user;

   ```

 

   如果输出结果中的plugin列是“caching_sha2_password”,则需要更改为“mysql_native_password”。

 

  1. 更改root用户的身份验证方式。使用以下命令更改root用户的身份验证方式:

 

   ```

   ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

   ```

 

   在此命令中,“password”是您希望设置为root用户的新密码。

 

  1. 刷新MySQL特权表并退出MySQL shell。 使用以下命令刷新MySQL特权表并从MySQL shell退出:

 

   ```

   FLUSH PRIVILEGES;

   EXIT;

   ```

 

  1. 停止MySQL服务。使用以下命令停止MySQL服务:

 

   ```

   systemctl stop mysql

   ```

 

  1. 修改MySQL配置文件。使用文本编辑器打开/etc/mysql/mysql.conf.d/mysqld.cnf文件,并将以下内容添加到[mysqld]部分:

 

   ```

   default_authentication_plugin = mysql_native_password

   ```

 

  1. 保存并关闭文件,然后重新启动MySQL服务。使用以下命令重新启动MySQL服务:

 

   ```

   systemctl start mysql

   ```

 

完成以上步骤后,您可以确认身份验证方式已成功更改为mysql_native_password插件。