Mysql 8.0 安装 采用yum和官网离线包安装的大致的步骤类似

1、安装目录

我这里安装在了/use/local 目录下,根据自己项目分配对应的即可,包括以下所指定的data 存储的路径,根据实际情况指定即可。

2.下载mysql 

 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

官网自己可以去找到合适的对应版本

https://dev.mysql.com/downloads/mysql/%c2%a0/

3.解压mysql 

tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

4.重命名文件夹 

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0

5.创建data文件夹 存储文件

cd /usr/local/mysql-8.0    #根据实际安装的目录进行安装
mkdir data 

6.创建用户组以及用户和密码 

groupadd mysql
 
useradd -g mysql mysql

7.授权用户

chown -R mysql.mysql /usr/local/mysql-8.0

8.切换到bin目录下

cd bin

9.初始化基础信息 

./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize

注意:执行完初始换以后,会有一个临时生成的默认密码,记得顺手保存一下!!

10.编辑my.cnf文件  

vi /etc/my.cnf

注释掉默认的文件配置,或者全部清除,把一下配置信息配置上

[mysqld]
basedir=/usr/local/mysql-8.0/
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4

11.添加mysqld服务到系统  

cp -a ./support-files/mysql.server /etc/init.d/mysql

12.授权以及添加服务  

chmod +x /etc/init.d/mysql
 
chkconfig --add mysql

13.启动mysql 

service mysql start

也可以设置成用systemctl 控制配置方式,放到文章最后。

14.查看启动状态 

service mysql status

15.将mysql命令添加到系统默认的执行文件中

ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin

16.登录mysql  mysql -uroot -p 密码使用之前随机生成的密码

17.修改root密码  其中123456是新的密码自己设置

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '111aaa';

刷新一下刚才的配置

flush privileges;

18.选择mysql数据库 

常用的mysql 命令

mysql> use mysql;  #切换到  mysql 库
mysql> update user set host='%' where user='root';   #放开远程链接
mysql> flush privileges; #刷新配置
mysql> select  version();  #查看当前的数据库版本

show相关语句
查看实例参数 例如:
show variables like '%innodb%';
show global variables like '%innodb%';

show status like 'uptime%';
show global status like 'connection%';

查看数据库链接:
show processlist;
show full processlist;

查询某个表的结构:
show create table tb_name;

查询某个表的详细字段信息:
show full columns from tb_name;

查询某个表的全部索引信息:
show index from tb_name;

查询某个库以cd开头的表:
show tables like 'cd%';

查询某个库中的所有视图:
show table status where comment='view';

查询某个用户的权限:
show grants for 'test_user'@'%';


2.查看账户相关信息
# 这里先介绍下CONCAT函数:在MySQL中 CONCAT()函数用于将多个字符串连接成一个字符串, 
利用此函数我们可以将原来一步无法得到的sql拼接出来,后面部分语句有用到该函数。

当拼接字符串中出现''时 需使用转义符


查看所有用户名:
SELECT DISTINCT
CONCAT(
'User: '',
user,
''@'',
host,
'';'
) AS QUERY
FROM
mysql.user;


查看用户详细信息:
SELECT user,
host,
authentication_string,
password_expired,
password_lifetime,
password_last_changed,
account_locked
FROM
mysql.user;

KILL数据库链接:
# 下面列举SQL只是拼接出kill 链接的语句,若想执行 直接将结果复制执行即可。
杀掉空闲时间大于2000s的链接:
SELECT
concat( 'KILL ', id, ';' )
FROM
information_schema.`PROCESSLIST`
WHERE
Command = 'Sleep'
AND TIME > 2000;

杀掉处于某状态的链接:
SELECT
concat( 'KILL ', id, ';' )
FROM
information_schema.`PROCESSLIST`
WHERE
STATE LIKE 'Creating sort index';

杀掉某个用户的链接:
SELECT
concat( 'KILL ', id, ';' )
FROM
information_schema.`PROCESSLIST`
WHERE
where user='root';

查看库或表大小:
# 查看整个实例占用空间大小: 
SELECT 
 concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB, 
 concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB  
FROM 
 information_schema.`TABLES`;

查看各个库占用大小:
SELECT
TABLE_SCHEMA,
concat( TRUNCATE ( sum( data_length )/ 1024 / 1024, 2 ), ' MB' ) AS data_size,
concat( TRUNCATE ( sum( index_length )/ 1024 / 1024, 2 ), 'MB' ) AS index_size
FROM
information_schema.`TABLES`
GROUP BY
TABLE_SCHEMA;

查看单个库占用空间大小:
SELECT
concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB,
concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB
FROM
information_schema.`TABLES`
WHERE
table_schema = 'test_db';

查看单个表占用空间大小:
SELECT
concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB,
concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB
FROM
information_schema.`TABLES`
WHERE
table_schema = 'test_db'
AND table_name = 'tbname';

查看表碎片及收缩语句:
# 查看某个库下所有表的碎片情况: 
SELECT 
 t.TABLE_SCHEMA, 
 t.TABLE_NAME, 
 t.TABLE_ROWS, 
 concat( round( t.DATA_LENGTH / 1024 / 1024, 2 ), 'M' ) AS size, 
 t.INDEX_LENGTH, 
 concat( round( t.DATA_FREE / 1024 / 1024, 2 ), 'M' ) AS datafree  
FROM 
 information_schema.`TABLES` t  
WHERE 
 t.TABLE_SCHEMA = 'test_db'  
ORDER BY 
 datafree DESC;

收缩表,减少碎片:
alter table tb_name engine = innodb;
optimize table tb_name;

查找无主键表:
查看某个库下所有表的碎片情况:
SELECT
t.TABLE_SCHEMA,
t.TABLE_NAME,
t.TABLE_ROWS,
concat( round( t.DATA_LENGTH / 1024 / 1024, 2 ), 'M' ) AS size,
t.INDEX_LENGTH,
concat( round( t.DATA_FREE / 1024 / 1024, 2 ), 'M' ) AS datafree
FROM
information_schema.`TABLES` t
WHERE
t.TABLE_SCHEMA = 'test_db'
ORDER BY
datafree DESC;


收缩表,减少碎片:
alter table tb_name engine = innodb;
optimize table tb_name;



创建一个库、和一个表:
mysql -u root -p     #进入数据库
show batabases;    #查看已有的数据库
show variables like 'version';    #查看MySQL的版本
create database Demo01;   #创建一个Demo01数据库
use demo01;   #切换到  demo01 这个库
create table student(stuID varchar(8),stuName varchar(8),stuAge varchar(8));  #创建student 表
show tables;  #查看demo01数据库中的所有表
desc student;   #查看student表的描述信息
insert into student values("001","张三","18");  #插入一条数据
select * from student where stuID = "001";   # 查询一下刚刚插入的数据
update student set stuName="李四" where stuID="001";  #修改刚刚插入的数据,以将 stuName=张三 改为 stuName=李四
select * from student where stuID = "001";   #使用上面的查询语句看看是否修改成功,输入
delete from student where stuID="001";   # 删除刚刚插入的数据
select * from student where stuID = "001";   # 使用查询语句查看是否删除成功,输入 
alter table student rename student01;    #将表名由student改为student01,并查看表的描述信息
desc student01;   #查看表结构
alter table student01 add stuSex varchar(4) after stuName;   # 给student01表增加stuSex属性,加在stuName后面,并查看表的描述信息
desc student01;    #查看表结构
alter table student01 add class varchar(8);   # 给student01表增加class属性,加在最后面,并查看表的描述信息
alter table student01 add isStudent varchar(4) first;   #给student01表增加isStudent属性,加在最前面,并查看描述信息
 
alter table student01 drop isStudent;  # isStudent属性是描述是否为学生,其实这个属性没必要存在,所以删除student01表中isStudent属性
alter table student01 change stuID stuNo varchar(8);  #修改student01表中stuID为stuNo,并查看描述信息
exit;  #关闭数据库,退出 



学无止境!!!






















 Linux 7 设置成 systemctl 控制的系统命令,可以参照文献的链接,个人觉得已经写的很详细,就没有必要赘 述了

https://www.cnblogs.com/startscorpio/p/12915088.html

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上使用yum安装MySQL 8.0,你可以按照以下步骤进行操作: 1. 首先,你需要访问MySQL官方网站的安装教程,链接为\[1\]。这个教程提供了关于在Linux上安装MySQL的详细说明。 2. 根据你的Linux系统版本,选择合适的MySQL版本。例如,如果你的系统是CentOS 7.6,你可以使用命令`yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm`来安装MySQLyum数据源。请确保在安装过程中按照提示输入两次"y"来确认安装。 3. 如果你的Linux系统已经安装了Docker,你也可以考虑使用Docker来安装MySQL。你可以参考\[3\]中提供的Docker安装MySQL 8并配置远程连接的教程。 总结起来,要在Linux上使用yum安装MySQL 8.0,你需要先安装MySQLyum数据源,然后根据系统版本选择合适的MySQL版本进行安装。希望这些信息对你有帮助。 \[1\] https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-repo-installing-mysql \[2\] 引用内容中没有提供相关信息 \[3\] 引用内容中没有提供相关信息 #### 引用[.reference_title] - *1* [Linux基于yum安装mysql8](https://blog.csdn.net/shenya2/article/details/81322036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [linux yum安装mysql8](https://blog.csdn.net/qq_26462567/article/details/102475057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值