基础环境及软件
- 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行的内容