Linux环境安装Mysql8.0

本文详细指导如何在Linux环境中检查并卸载MariaDB,然后安装Mysql 8.0,包括内核版本确认、包下载、手动删除my.cnf,以及设置大小写敏感性和初始化数据库。还介绍了如何重置Mysql root密码和调整密码策略。
Linux环境准备
1、查看Linux环境是否安装过MariaDB
	centos7 默认安装的 mariadb,没有 mysql,不卸载会出现冲突。
	查看是否安装mariadb:yum list installed | grep mariadb
	存在则卸载mariadb:yum remove -y mariadb-libs
2、检查是否已经安装过 mysql。
	rpm -qa | grep -i mysql
	若有安装过 mysql,视情况是否需要卸载(rpm -e xxxx --nodeps)。
3、手动删除my.cnf文件
	卸载后/etc/my.cnf不会自动删除,需要手工删除。
Mysql安装
1、查看Linux内核
	cat /proc/version 或 uname -a
	根据el7的版本下载对应的mysql包。
2、安装包下载:
	参考Mysql官方网文档:https://dev.mysql.com/doc/refman/8.0/en/
	下载地址:https://dev.mysql.com/downloads/mysql/
	选择:Red Hat Enterprise Linux / Oracle Linux
	操作系统版本:el7选Linux7,el8选Linux8
	下载:RPM Bundle(mysql-8.0.26-1.el8.x86_64.rpm-bundle.tar)
3、Linux安装
	上传tar包到linux环境。
	创建mysql目录存放tar解压文件:mkdir mysql8
	解压:tar -xvf mysql-8.0.26-1.el8.x86_64.rpm-bundle.tar -C ./mysql8
	安装:sudo yum install mysql-community-{server,client,common,libs}-*
	安装过程可能会提示缺依赖,安装即可。
	等待安装结束后,查看是否安装成功:mysqladmin --version
   
    Mysql大小写敏感问题:
	1、MySQL在Windows下大小写**不敏感**,不区分大小写。
	2、MySQL在linux下大小写**敏感**,区分大小写。
	Mysql大小写敏感只是针对数据库名、表名、别名等,列名与列的别名在所有的情况下均是忽略大小写的。
	根据情况设置大小写是否敏感:
	Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
	方法1:/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务。
	lower_case_table_names 说明:
		lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。
		lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。
	方法2:/usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1

    注:初始化前确定大小写敏感配置正确,Mysql在初始化后无法再修改lower_case_table_names参数,只能重装。
   
    初始化数据库:
	启动Mysql:systemctl start mysqld
	查看默认root密码:sudo grep 'temporary password' /var/log/mysqld.log
	用默认密码登录:mysql -uroot -p
4、重置密码
	登录mysql修改root密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
	简单的密码问题,由于Mysql8的密码安全策略问题,默认不支持过于简单的密码,如果要支持简单密码此处可修改密码策略,修改完后重新设置用户密码即可。
	临时修改:
		set global validate_password.policy=0;(0/LOW只验证长度)
		set global validate_password.length=6;(6位密码)
	永久修改:
		查看默认策略:SHOW VARIABLES LIKE 'validate_password%';
		修改策略级别: set global validate_password_policy=LOW;(0/LOW只验证长度)
		修改密码长度:set global validate_password_length=6;(6位密码)
	完成设置后便可设置简单的密码了。
	Navicat客户端远程连接,需要设置user表中账号对应的Host从 localhost 修改为 % :
		use mysql;
		update user set host='%' where user='root';
		flush privileges;

	拓展:
	关于 mysql 密码策略相关参数;
	validate_password_length  固定密码的总长度;
	validate_password_dictionary_file 指定密码验证的文件路径;
	validate_password_mixed_case_count整个密码中至少要包含大/小写字母的总个数;
	validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
	validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
	validate_password_policy 的取值0/LOW:只验证长度;
		1/MEDIUM:验证长度、数字、大小写、特殊字符;
		2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
	validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值