centos7 安装mysql8
1. 前提条件
- 查看是否安装了mysql服务(有则自行卸载删除)
yum list installed mysql*
rpm –qa|grep mysql*
2. 两种安装方式:
2.1 第一种安装方式
通过官网下载tar压缩包或rpm安装包来安装,
- 确定服务器的基础框架是arm架构还是x86架构
uname -m
- 确定出你需要的系统版本
以我的为例,是CentOS 7系统。(CentOS 版本是基于Red Hat 版本开发的)
cat /etc/redhat-release
- 到mysql官网下载对应的安装包,如下图所示
下载地址: https://dev.mysql.com/downloads/mysql/
-
通过WinSCP、XFTP上传等工具上传服务器并解压,或通过wget直接下载
- 创建jdk安装路径 :
mkdir /usr/local/mysql
- 上传压缩包到任意路径,解压:
tar -zxvf 安装包 -C 指定目录
- 然后得到若干rpm包
- 创建jdk安装路径 :
-
删除原有的mariadb,否则可能会报异常
- 先查看一下是否已经安装了:
rpm -qa|grep mariadb
- 删除mariadb :
rpm -e --nodeps mariadb-libs
- 先查看一下是否已经安装了:
-
安装rmp包
逐个安装,命令如下:
- 必须安装
rpm -ivh mysql-community-common-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el8.x86_64.rpm
- 非必须安装
rpm -ivh mysql-community-libs-compat-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-test-8.0.26-1.el8.x86_64.rpm
2.2 第二种安装方式(推荐)
通过yum的方式安装(推荐)
-
查看服务器上是否有现成的安装包:
yum list mysql*
-
去mysql官网的yum资源库找到对应的rpm文件的下载链接
- 确定系统版本 :
cat /etc/redhat-release
- 复制对应的资源下载链接
- 确定系统版本 :
-
在linux中下载、安装yum资源 :
如:rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh 资源下载链接
- 查看当前mysql的当前版本
yum info mysql-community-server
- 安装mysql:
yum -y install mysql-community-server
3. 安装完后,启动mysql
- 使用“systemctl”检测mysqld服务状态:
systemctl status mysqld
- 启动mysql服务:
systemctl start mysqld
- 再次查看mysqld服务的状态:
systemctl status mysqld
- 设置系统启动时自动启动mysql服务:
systemctl enable --now mysqld
4. 修改mysql密码
- 查看mysql root的原始密码:
less /var/log/mysqld.log
- 修改密码:
mysqladmin -u root -p password
这里需要粘贴上面的原始密码,然后输入新密码,最后回车时会报错,提示设置的密码太简单
- 先通过原始密码进入到mysal:
mysql -uroot -p
回车后,粘贴原始密码进入的msyql shell界面
- 在mysql shell界面修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
# 这里会遇到一个问题,新密码设置过于简单会报错,不重置密码的话,这里任何mysql命令都无法执行,我们可以先重置复杂密码后,再次修改密码策略,再次设置简单密码
这里会遇到一个问题,新密码设置过于简单会报错,不重置密码的话,这里任何mysql命令都无法执行,我们可以先重置复杂密码后,再次修改密码策略,再次设置简单密码
-
可通过如下命令查看完整的初始密码规则
-
mysql 8 查看初始密码规则并修改规则:
-
mysql8 使用如下命令查看初始密码规则:
mysql> SHOW VARIABLES LIKE 'validate_password%';
-
查看密码强度等级:
mysql> show variables like 'validate_password.policy';
-
查看密码等级:
mysql> show variables like 'validate_password.length';
-
修改指定密码的验证强度等级:
set global validate_password.policy=LOW;
-
修改指定密码长度:
set global validate_password.length=6;
-
-
mysql7 使用如下命令查看初始密码规则:
- mysql7 使用如下命令查看初始密码规则
mysql> show variables like 'validate_password';
- 修改密码策略
mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1;
- mysql7 使用如下命令查看初始密码规则
-
-
再次修改密码为简单密码就可以了:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '112233';
4. 重新创建账户使其可以外部连接
root账号一般只添加了localhost访问(这是推荐的),如若调试阶段不想通过ssh跳板连接,建议开个新账号。
- 查看root账号的ip访问权限(执行结果:localhost和127.0.0.1,是无法从外部连接的)
SELECT host FROM mysql.user WHERE User = 'root';
- 新建账号并指定密码和ip(使用 % 通配符表示允许任何ip访问)
CREATE USER 'my_name'@'%' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON *.* TO 'my_name'@'%';
- 刷新配置:
FLUSH PRIVILEGES;
这样my_name就可以不通过ssh跳板直接连接了。
本文来自博客园,作者:热爱技术的小牛,转载请注明原文链接:https://www.cnblogs.com/my-blogs-for-everone/articles/17419406.html