Linux MySQL 8 安装全过程

2 篇文章 0 订阅
1 篇文章 0 订阅

MySQL 8 安装

环境:

  • CentOS7

  • mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar

前期准备

1.检查环境是否安装MySQL

[root@hadoop1 ~]# rpm -qa | grep -i mysql

2.检查Linux是否自带MariaDB

[root@hadoop1 ~]# rpm -qa | grep mariadb
mariadb-5.5.68-1.el7.x86_64
mariadb-devel-5.5.68-1.el7.x86_64
mariadb-libs-5.5.68-1.el7.x86_64

3.卸载MariaDB

rpm -e --nodeps 包名

[root@hadoop1 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@hadoop1 ~]# rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64
[root@hadoop1 ~]# rpm -e --nodeps mariadb-devel-5.5.68-1.el7.x86_64

4.查看删除MySQL目录

[root@hadoop1 ~]# whereis mysql
mysql: /usr/lib64/mysql
[root@hadoop1 ~]# rm -rf /usr/lib64/mysql

安装步骤

1.解压到/software/mysql-8.0.30文件夹

[root@hadoop1 software]# tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar -C ./mysql-8.0.30
mysql-community-client-8.0.30-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
mysql-community-common-8.0.30-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.30-1.el7.x86_64.rpm
mysql-community-devel-8.0.30-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.30-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
mysql-community-libs-8.0.30-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.30-1.el7.x86_64.rpm
mysql-community-server-8.0.30-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.30-1.el7.x86_64.rpm
mysql-community-test-8.0.30-1.el7.x86_64.rpm

2.安装包

按以下顺序执行

[root@hadoop1 mysql-8.0.30]# rpm -ivh mysql-community-common-8.0.30-1.el7.x86_64.rpm
[root@hadoop1 mysql-8.0.30]# rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm 
[root@hadoop1 mysql-8.0.30]# rpm -ivh mysql-community-libs-8.0.30-1.el7.x86_64.rpm 
[root@hadoop1 mysql-8.0.30]# rpm -ivh mysql-community-client-8.0.30-1.el7.x86_64.rpm 
[root@hadoop1 mysql-8.0.30]# rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm 
[root@hadoop1 mysql-8.0.30]# rpm -ivh mysql-community-server-8.0.30-1.el7.x86_64.rpm 

3.设置大小写不敏感

★★★★★★★★★★特别注意:对于MySQL8.0版本,修改大小写敏感必须要在初始化之前,即启动服务之前★★★★★★★★★★

  • 修改/etc/my.cnf 添加lower_case_table_names=1
  • 0 :敏感
  • 1 :不敏感
[root@hadoop1 lib]# vi /etc/my.cnf
lower_case_table_names=1

4.启动MySQL服务

[root@hadoop1 mysql-8.0.30]# systemctl start mysqld.service
[root@hadoop1 mysql-8.0.30]# systemctl status mysqld
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-11-29 14:41:10 CST; 28s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1551 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1733 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           └─1733 /usr/sbin/mysqld
Nov 29 14:40:58 hadoop1 systemd[1]: Starting MySQL Server...
Nov 29 14:41:10 hadoop1 systemd[1]: Started MySQL Server.

4.查看默认密码

[root@hadoop1 mysql-8.0.30]# grep "password" /var/log/mysqld.log
2022-11-29T06:41:04.163629Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Auis9w%<iq:e
[root@hadoop1 mysql-8.0.30]# grep "temporary password" /var/log/mysqld.log
2022-11-29T06:41:04.163629Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Auis9w%<iq:e

5.使用默认密码登录,并修改密码

[root@hadoop1 mysql-8.0.30]# mysql -uroot -p
Enter password: 
mysql> alter user root@'localhost' identified by '1111.aaaa';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password.policy=0;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user root@'localhost' identified by '1111.Aaaa';
Query OK, 0 rows affected (0.05 sec)
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user root@'localhost' identified by '1111.aaaa';
Query OK, 0 rows affected (0.00 sec)

6.设置允许远程登录

  • 方式一:重启后生效,修改root访问权限
mysql> use mysql;
mysql> select host, user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+

mysql> update user set host='%' where user ='root';
mysql> select host, user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+

mysql> flush privileges;
mysql> exit;
[root@hadoop1 mysql-8.0.30]# systemctl restart mysqld.service
  • 方式二:直接生效,新增root远程权限
mysql> create user root@'%' identified by '1111.aaaa';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password.policy=0;
mysql> create user root@'%' identified by '1111.aaaa';
mysql> grant all privileges on *.* to root@'%' with grant option;
mysql> flush privileges;
mysql> use mysql;
mysql> select host, user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+

7.查看密码相关配置

修改方式:

  • set global validate_password.policy=0; #设置为弱口令

  • set global validate_password.length=1; #密码最小长度为1

mysql> show variables like '%validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 8     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
  • 设置为ON的时候表示能将密码设置成当前用户名

    • validate_password.check_user_name=ON
  • 用于检查密码的字典文件的路径名

    • validate_password_dictionary_file
  • 强制执行的密码策略,可以用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定

    • validate_password.policy=MEDIUM
  • 密码最小长度

    • validate_password.length=8
  • 必须包含1个大写和1个小写

    • validate_password.mixed_case_count=1
  • 必须包含1个数字

    • validate_password.number_count=1
  • 必须包含1个特殊字符

    • validate_password.special_char_count=1

8.新建用户并授权

mysql> create database test;
mysql> create user 'test'@'%' identified by '1111.aaaa';
mysql> grant all privileges on test.* to 'test'@'%';
mysql> flush privileges;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值