Linux系统Mysql安装与配置

安装环境

系统centos 7.9
myslq版本community 5.7.38

安装步骤

1. 查看并卸载系统中是否自带mysql

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

从执行结果可以看到系统中自带了mariadb,我们可以使用rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 命令将自带的mariadb进行卸载,卸载后再次执行上面命令进行查看如果无任何显示说明卸载成功(如果系统自带了mysql卸载方式相同,也可以使用 yum remove mysql 命令进行卸载)

2. 下载mysql安装包

下载mysql安装包有两种方式,一种是在mysql官网进行下载,一种是使用mysql rpm源进行下载安装

1. 官网下载,打开官网下载地址,查找自己需要的版本进行下载即可

MySQL :: Download MySQL Community Server (Archived Versions)

 2. 使用rpm源进行下载

首先要下载安装mysql的yum源,获取方式可以在官网直接进行下载或使用wget命令进行下载安装

在官网限制,点击yum Repository下载地址根据系统版本选择对应的版本即可

MySQL :: Download MySQL Yum Repository

 

使用wget方式下载

wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

 执行上面命令下载yum源rpm包

 如果提示 -bash: wget: 未找到命令,则需要先安装wget命令

安装 wget

[root@localhost ~]# yum -y install wget

 安装 mysql yum源

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

安装完成后会在/etc/yum.repos.d/目录下生成mysql相关的配置文件

 

 3. 使用yum安装Mysql

 1. 安装前我们需要查看下mysql相关源的启用情况

yum repolist all | grep mysql

 因为安装的 mysql80-community-release-el7-3.noarch.rpm 源包含了5.6,5.7,8.0等版本,默认情况下启用的是 mysql80-community 也就是执行安装命令安装的是mysql8.x,这里我们要安装的是myslq5.7,所以需要切换下源更改安装版本,将mysql57-community启用切换命令如下

# 禁用mysql8版本
yum-config-manager --disable mysql80-community

# 启用myslq5.7版本
yum-config-manager --enable mysql57-community

如果执行以上命令,提示没有找到命令,安装一下yum的utils工具即可

yum -y install yum-utils

 切换完成后我们可以看到mysql57-community已经启用

 2. 安装 myslq5.7.X

yum -y install mysql-community-server

执行安装后提示 mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm 的公钥尚未安装,需要导入公钥后再次执行安装即可

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

 4. 启动mysql设置开机自启

# 查看mysql状态
systemctl status mysqld

# 启动mysql
systemctl start mysqld

 设置开机自启

# 设置开机自启
systemctl enable mysqld

# 查看开机自启是否打开
systemctl list-unit-files |grep mysql

 5. 连接mysql 设置密码

 mysql安装完成后会生成一个随机密码,在/var/log/mysld.log中,我们可以使用此密码登录mysql

# 查看mysql初始密码
grep "password" /var/log/mysqld.log

# 登录mysql -u 指定用户名这里是root -p 密码回车后按提示输入即可 -h 指定ip 这里是本机登录所以省略
mysql -u root -p

 登录成功后我们必需要修改密码后才能进行数据库的操作,如果不修改会提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

更改root用户登录密

# 更改root用户密码
 ALTER USER 用户名 IDENTIFIED BY '新密码';

# 示例

mysql> alter user 'root'@'localhost' identified by '123456';
或
mysql> alter user user() identified by '123456';

user() 可以获取到当前用户名

#刷新权限信息
mysql> flush privileges;

 如果设置的新密码过于简单,如上面示例中的123456,执行密码后会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  错误,也就是密码不符合当前的密码策略。mysql默认的密码策略是满足8位并且尽量是混合密码(英文、下划线、数字)

 我们尽量按照策略设置比较复杂的密码,如果非要设置简单的密码我们需要更改对应的密码策略

# 设置密码长度 默认是8位
mysql> set global validate_password_length=6;

# 设置密码验证策略
mysql> set global validate_password_policy=0;

# 查看当前密码策略
mysql> SHOW VARIABLES LIKE 'validate_password%';

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 : 默认值为1, 密码强度等级 [LOW:0| MEDIUM:1 | STRONG:2]
validate_password_special_char_count : 默认值为1,限制特殊字符个数

validate_password_policy 值说明
0/LOW:只检查长度。
1/MEDIUM:检查长度、数字、大小写、特殊字符。
2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

6. 修改mysql服务端的默认编码为utf8

查看mysql的编码信息

mysql> status;

 可以看到服务端默认的编码是latin1,Latin1是ISO-8859-1的别名,有些环境下写作Latin-1

退出mysql 修改 /etc/my.cnf配置文件,添加以下内容并重启mysql即可

vim /etc/my.cnf

# 重启mysql
systemctl restart mysqld

查看mysql编码集

# 查看mysql编码集
mysql> show variables like 'character%';

 7. 设置远程登录

  mysql按照完成后,默认只支持localhost访问也就是本机访问,如果需要在其他终端进行连接访问则需要设置一下才可以远程访问。

# 切换到 mysql数据库
mysql> use mysql;

# 查看用户信息
mysql> select user,host from user;

 可以看到在 user 表中root 用户。host 字段为localhost(表示只有本机可以登录),此字段表示登录的主机,其值可以用 IP 地址,也可用主机名。

开启远程登录,我们只需要将 host对应的值改为‘%’即可

# 开启远程登录权限
mysql> update user set host='%' where host='localhost' and user='root';
或
mysql> GRANT ALL ON *.* TO 'root'@'%';

# 刷新权限
mysql> flush privileges;

说明: % 号表示任意地址都可以访问,当然如果限定某个地址并带上密码访问 可以这样设置
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3'IDENTIFIED BY '123456'
   WITH GRANT OPTION;
 
这里修改的是root用户,可以根据实际需求进行用户的设置

设置完成后我们可以进行远程连接测试

 如果出现以下连接不上的情况,首先检查以下mysql服务是否启动,如果mysql服务正常运行,再查看下是否防火墙导致无法访问

 如果是防火墙原因,可以关闭防火墙或配置防火墙开通3306端口后再次连接即可

# 查看防火墙状态
systemctl status firewalld

#关闭防火墙
systemctl stop firewalld

#开启防火墙
systemctl start firewalld

# 防火墙开通 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

--permanent 表示永久生效,如果不加此参数重启后会失效

# 重新载入配置
firewall-cmd --reload

 

 至此linux下安装 mysql完成

  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值