当前位置: 代码迷 >> 综合 >> 【Linux】【开发环境】【RHEL】开发环境搭建系列之七——安装基础MySQL环境
  详细解决方案

【Linux】【开发环境】【RHEL】开发环境搭建系列之七——安装基础MySQL环境

热度:1   发布时间:2023-12-15 12:50:10.0

Red Hat Linux上安装MySQL环境

    • 基础环境及软件
    • 操作过程
      • 1、下载
      • 2、安装
      • 3、配置
      • 4、测试
    • 命令汇总
    • 参考资料

基础环境及软件

  • Red Hat Enterprise Linux Server release 7.7 (Maipo)
  • VMware Workstation 16.1.1
  • navicat
  • mysql80-community-release-el7-1.noarch.rpm

mysql-server(mysqld,server,8.0.26)
mysql(client)

操作过程

1、下载

  • rpm包为:mysql80-community-release-el7-1.noarch.rpm
  • el7对应redhat7,要和自己的Linux系统版本匹配。

2、安装

安装主要基于rpm或yum命令。
安装之后,可查看具体的sql版本:

mysql> SELECT VERSION(), CURRENT_DATE;
+-----------+--------------+
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 8.0.26    | 2021-08-08   |
+-----------+--------------+
1 row in set (0.00 sec)

3、配置

  • 修改mysql配置文件my.cnf

可配置较多参数,如buff大小等,既可以配置客户端的,也可以配置服务器的参数;

  • 修改防火墙规则

为了mysqld使用3306端口可顺利通过;

  • 配置mysql用户名、密码等;

安装完默认会有root账号及默认密码,也可新建其他普通账号;

  • 配置远程访问等;

默认情况下,网络是无法访问mysql的,需要配置允许的IP;

  • 创建数据库和表

a、先创建库;
b、在这个库中建表(定义表的内容);
c、向表中插入数据;

mysql> create database qxhgdfirstdb;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| qxhgdfirstdb       |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
mysql> show tables;
+------------------------+
| Tables_in_qxhgdfirstdb |
+------------------------+
| employeelst            |
+------------------------+
1 row in set (0.01 sec)mysql> select * from employeelst;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 秋香   |
| 9527 | 华安   |
+------+--------+
2 rows in set (0.00 sec)

4、测试

  • 可使用mysqladmin进行测试;

mysqladmin 是管理 MySQL 服务器的客户端,可以用来检测服务器的配置和当前状态、创建和删除数据库等

  • 可直接使用mysql -uroot -p登陆,进行数据库的操作;
  • 可使用navicat软件在windows系统上对RHEL中的mysql进行远程测试:

主机:虚拟机地址;
端口:3306;
用户名密码:填root及自己配置的密码;

命令汇总

## 1、是否安装mysql
rpm -qa | grep -i mysql ## 2、安装mysql
wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm                             #下载mysql rpm包
yum localinstall mysql80-community-release-el7-1.noarch.rpm #安装mysql rpm包,这步也可以用rpm代替
yum repolist enabled | grep "mysql.*-community.*" #确认是否安装好yum update               #一定要update一下,保证后面可install成功
yum install mysql-server #安装mysql server(第一次安装)
yum install mysql        #安装mysql client(一般不需要额外执行)yum update mysql-server #更新mysql server(如果不是第一次安装,可更新)mysql> SELECT VERSION(), CURRENT_DATE;  #查看mysql版本## 3、配置
vim /etc/my.cnf
#在[mysqld]下,添加以下内容,让MYSQL大小写敏感(1-不敏感,0-敏感)
lower_case_table_names=1## 4、初始化
mysqld --initialize## 5、启动mysqld
sudo systemctl start mysqld.service #启动mysql的守护进程mysqld
sudo systemctl start mysqld.service #重启mysql的守护进程mysqld
systemctl status mysqld.service     #查看运行状态## 6、连接并操作MySql数据库
### 6.1 查看密码
sudo grep "password" /var/log/mysqld.log # 查看默认的密码
### 6.2 本地使用root账号登陆
sudo mysql -uroot -p                     #使用上面查看的密码登陆
sudo mysql -h 127.0.0.1 -P 3306 -u root -p #也可以这样登陆
### 6.3 修改root账号的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';#需要修改默认密码,"new password"为新密码,需要符合一定强度;如果是@,则该账号只能本机访问,如果是%,则可以网络访问。mysqladmin -uroot -pYourpassword ping   #可用这个命令确认mysqld是否可用;
mysqladmin -uroot -pYourpassword status #可用这个命令确认mysqld状态;## 7、配置远程访问
#解决navicate的2003 - Can't connect to MySQL server on xxx (10061)问题
### 7.1 TCP端口层面
firewall-cmd --permanent --zone=public --add-port=3306/tcp #放开3306端口
firewall-cmd --reload   #刷新防火墙规则
firewall-cmd --list-all #确认规则是否生效,即是否包含3306端口### 7.2 MYSQL层面
# 解决1130,1130 : Host 'XXXX' is not allowed to connect to this MySQL servernavicate错误:
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';#如果修改其他用户,则将root换成其他用户名即可;
mysql>FLUSH PRIVILEGES;## 8、配置一个新用户
mysql>create user 'test1'@'%' identified by 'your password';
mysql>flush privileges;## 9、创建数据库和表相关操作;
create database qxhgdfirstdb;# 创建一个数据库
drop database qxhgdfirstdb;# 删除一个数据库
show databases; #查看有哪些数据库;use qxhgdfirstdb;#选中该数据库,即将对该数据库进行操作;
create table employeelst(id int,name nvarchar(255));#建表
insert into employeelst values(1,'秋香');#表中插入表项
insert into employeelst values(9527,'华安'); #表中插入表项
show tables;    #查看库中的表
drop table employeelst; #删除库中的表select * from employeelst;    #查看表中内容
select * from employeelst order by id limit 0,2;    查看表tabtest表中前2行的内容

参考资料

  • install-latest-mysql-on-rhel-centos-and-fedora
  • mysql8中文手册
  • 2003-Can-t-connect-to-MySQL-server-on-xxx-10061

如本文对你有些许帮助,欢迎通过下面链接进行打赏:
支付宝打赏方式

  相关解决方案