Ubuntu20.04安装Mysql(亲测有效,一定要按步骤来)

ubuntu20.04离线安装mysql8.0.30的方法步骤 Ubuntu20.04离线安装MySQL 8.0最新版 阅读详情

Ubuntu20.04安装Mysql

		1、方法一: 下载安装MySQL(安装其他版本)
		1.1在官网下载mysql安装包
		1.2解压文件
		1.3安装
		2、方法二:通过apt 安装MySQL服务(推荐,会安装最新版)
		2.1 初始化配置
		2.2检查mysql服务状态
		3.1配置远程访问
		3.2新建数据库和用户
		3.3mysql服务命令
		4、数据库操作命令
		4.1mysql服务操作
		4.2数据库操作
		4.3表操作
		4.4修改表结构
		4.5数据操作
		4.6数据的备份与恢复
		4.7卸载

1、方法一: 下载安装MySQL(安装其他版本)

在Ubuntu中,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包apt-get。
如果因为程序兼容性问题,要安装5.7版本,则可以同过下载安装。

1.1在官网下载mysql安装包

https://downloads.mysql.com/archives/community/

1.2解压文件
进入你的下载文件夹下面

 tar -xvf mysql-server_5.7.13-1ubuntu16.04_i386.deb-bundle.tar

解压了这个包之后会在文件夹看到多个deb文件

1.3安装
安装顺序(很重要的,因为存在依赖关系):

lib`在这里插入代码片`mysqlclient20_5.7.13-1ubuntu16.04_i386.deb

libmysqlclient-dev_5.7.13-1ubuntu16.04_i386.deb

libmysqld-dev_5.7.13-1ubuntu16.04_i386.deb

mysql-common_5.7.13-1ubuntu16.04_i386.deb

mysql-community-source_5.7.13-1ubuntu16.04_i386.deb

mysql-community-client_5.7.13-1ubuntu16.04_i386.deb

mysql-community-server_5.7.13-1ubuntu16.04_i386.deb

mysql-server_5.7.13-1ubuntu16.04_i386.deb

可以一次性按顺序输入安装包名字:

sudo dpkg -i libmysqlclient20_5.7.13-1ubuntu16.04_i386.deb libmysqlclient-dev_5.7.13-1ubuntu16.04_i386.deb libmysqld-dev_5.7.13-1ubuntu16.04_i386.deb mysql-common_5.7.13-1ubuntu16.04_i386.deb mysql-community-source_5.7.13-1ubuntu16.04_i386.deb mysql-community-client_5.7.13-1ubuntu16.04_i386.deb mysql-community-server_5.7.13-1ubuntu16.04_i386.deb mysql-server_5.7.13-1ubuntu16.04_i386.deb

也可以一个一个来安装(这样子能够搞懂依赖的关系)
安装过程中可能缺少依赖,所以可以用:

sudo apt-get install [文件名] 

eg:这里面的问题是缺少libaio1和libmecab2,所以可以用:

sudo apt-get install libaio1 libmecab2

如果还是不能安装使用:

sudo apt-get -f install 

安装完成之后:
查看mysql服务状态:

service mysql start

进入MySQL

mysql -u root -p

1
2、方法二:通过apt 安装MySQL服务(推荐,会安装最新版)
#命令1 更新源

sudo apt-get update

#命令2 安装mysql服务

sudo apt-get install mysql-server

2.1 初始化配置

sudo mysql_secure_installation

配置项较多,如下所示:

#1

VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (选择N ,不会进行密码的强校验)

#2

Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)

#3

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)

#4

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)

#5

By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)

#6

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)

2.2检查mysql服务状态

systemctl status mysql.service

3.1配置远程访问

在Ubuntu下MySQL缺省是只允许本地访问的,使用workbench连接工具是连不上的;
如果你要其他机器也能够访问的话,需要进行配置;

找到 bind-address 修改值为 0.0.0.0(如果需要远程访问)

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf #找到 bind-address 修改值为 0.0.0.0(如果需要远程访问)
sudo /etc/init.d/mysql restart #重启mysql
sudo mysql -uroot -p

输入用户密码

#切换数据库

mysql>use mysql;

#查询用户表命令:

mysql>select User,authentication_string,Host from user;

#查看状态

select host,user,plugin from user;

#设置权限与密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; #使用mysql_native_password修改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER; #更新一下用户的密码
mysql> UPDATE user SET host = '%' WHERE user = 'root'; #允许远程访问

#刷新cache中配置 刷新权限

mysql>flush privileges; 
mysql>quit;

如果无法更改密码使用flush privileges;然后再进行更改密码,修改加密规则操作。

其中root@localhost,localhost就是本地访问,配置成 % 就是所有主机都可连接;

第二个’密码’为你给新增权限用户设置的密码,%代表所有主机,也可以是具体的ip;
注意不要直接更新密码的编码格式,而不加密码,这样会把加密密码跟新了,需要携带密码

FLUSH PRIVILEGES;作用是:

将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。
而不必冒太大风险。

修改密码

alter user 'root'@'%' identified with mysql_native_password by '密码';

新增用户赋权并设置远程访问
mysql8和原来的版本有点不一样,8的安全级别更高,所以在创建远程连接用户的时候,
不能用原来的命令(同时创建用户和赋权):
#必须先创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号)

mysql> CREATE USER 'sammy'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

#赋权

mysql> GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'%' WITH GRANT OPTION;

修改加密方式:

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;
Navicat 12以下客户端支持的是mysql_native_password这种加密方式;
update user set plugin='mysql_native_password' where user='root'

如果为了安全性,设置了用户验证,必须使用sudo,才能登录,出现如下情况:(尽量不要设置ubuntu用户在验证,否则会很麻烦)

解决方法:

sudo vim /etc/mysql/my.cnf
添加:
[mysqld]
skip-grant-tables

保存后重启mysql,可以正常登陆了
这样操作后,是相当于跳过了mysql的密码认证。很不安全,直接就可以登录进去。

3.2新建数据库和用户
##1 创建数据库studentService

CREATE DATABASE studentService;

##2 创建用户teacher(密码admin) 并赋予其studentService数据库的远程连接权限

GRANT ALL PRIVILEGES ON teacher.* TO studentService@% IDENTIFIED BY "admin";

3.3mysql服务命令
#检查服务状态

systemctl status mysql.service

sudo service mysql status

mysql服务启动停止

#停止

sudo service mysql stop

#启动

sudo service mysql start

4、数据库操作命令
4.1mysql服务操作
1、进入mysql数据库

mysql -u root -p  

2、查看数据库版本

mysql-> status; 

3、退出mysql操作

mysql-> quit;

4、启动mysql服务

[root@szxdb etc]# service mysql start

5、停止mysql服务

[root@szxdb etc]# service mysql stop

6、重启mysql服务

 service mysql restart 

7、更改密码 :mysqladmin -u用户名 -p旧密码 password 新密码

mysql-> mysqladmin -uroot -proot password 123456  

8、增加新用户 :grant select on 数据库.* to 用户名@登录主机 identified by “密码”

mysql-> grant all privileges on *.* to root@"%" identified by "pwd" with grant option;

增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。

mysql-> grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

如果你不想test2有密码,可以再打一个命令将密码消掉。

mysql-> grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

9、查看字符集

mysql-> show variables like ‘character%’;

4.2数据库操作
创建数据库
create database 数据库名 charset=utf8;

除数据库
drop database 数据库名;

切换数据库
use 数据库名;

查看当前选择的数据库
select database();

列出数据库
mysql-> show databases;

4.3表操作
查看当前数据库中所有表
show tables;

创建表
auto_increment表示自动增长

create table 表名(列及类型);
如:

create table students(
id int auto_increment primary key,
sname varchar(10) not null
);

修改表
alter table 表名 add|change|drop 列名 类型;

如:
alter table students add birthday datetime;

删除表
drop table 表名;

查看表结构
desc 表名;

更改表名称
rename table 原表名 to 新表名;

查看表的创建语句
show create table ‘表名’;

4.4修改表结构
1、更改表得的定义把某个栏位设为主键。

ALTER TABLE tab_name ADD PRIMARY KEY (col_name)

2、把主键的定义删除

ALTER TABLE tab_name DROP PRIMARY KEY (col_name)

3、 在tab_name表中增加一个名为col_name的字段且类型为varchar(20)

alter table tab_name add col_name varchar(20);

4、在tab_name中将col_name字段删除

alter table tab_name drop col_name;

5、修改字段属性,注若加上not null则要求原字段下没有数据

alter table tab_name modify col_name varchar(40) not null;

SQL Server200下的写法是:

Alter Table table_name Alter Column col_name varchar(30) not null;

6、如何修改表名:

alter table tab_name rename to new_tab_name;

7、如何修改字段名:

alter table tab_name change old_col new_col varchar(40);

必须为当前字段指定数据类型等属性,否则不能修改
8、 用一个已存在的表来建新表,但不包含旧表的数据

create table new_tab_name like old_tab_name;

4.5数据操作
查询
select * from 表名
增加
全列插入:insert into 表名 values(…)
缺省插入:insert into 表名(列1,…) values(值1,…)
同时插入多条数据:insert into 表名 values(…),(…)…;
或insert into 表名(列1,…) values(值1,…),(值1,…)…;
主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

update 表名 set 列1=值1,… where 条件
删除

delete from 表名 where 条件

逻辑删除,本质就是修改操作update

alter table students add isdelete bit default 0;

如果需要删除则

update students isdelete=1 where …;

4.6数据的备份与恢复

导入外部数据文本:
1.执行外部的sql脚本
当前数据库上执行:mysql < input.sql
指定数据库上执行:mysql [表名] < input.sql

2.数据传入命令 load data local infile “[文件名]” into table [表名];
备份数据库:(dos下)

mysqldump --opt school>school.bbb 
mysqldump -u [user] -p [password] databasename > filename (备份) 
mysql -u [user] -p [password] databasename < filename (恢复) 

4.7卸载
卸载mysql

dpkg --list|grep mysql        #在终端中查看MySQL的依赖项
sudo apt-get remove mysql-common  #卸载
sudo apt-get autoremove --purge mysql-server-8.0
##sudo apt-get autoremove --purge mysqlxxx

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

再次查看MySQL的剩余依赖项:

dpkg --list|grep mysql

继续删除剩余依赖项,如:sudo apt-get autoremove --purge mysql-apt-config

删除原先配置文件

sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoreclean(如果提示指令有误,就把reclean改成clean)

————————————————
本篇文章转载一位博主,如有侵权,请联系我马上删除!
转载地址:https://blog.csdn.net/weixin_38924500/article/details/106261971

ubuntu20mysql安装(绝对有效 Ubuntu20mysql8.0安装mysql安装1.环境注意2.进入ubuntu更新源镜像3.使用命令4.下载安装mysql5.配置6.设置默认用户7.最后一步8.恭喜你成功了 mysql安装 网上查了两三天资料,内容参差不齐,而且都没什么用,在我的综合下终于把它搞定了 1.环境注意 特别注意,如果之前在ubuntu安装mysql的小伙伴,一定要卸载干净,如果卸载不干净,建议直接重装Ubuntu,我为了实验mysql已经装了N多次了 2.进入ubuntu更新源镜像 因为ubuntu默认的网络一般 阅读详情

相关推荐

Ubuntu 20.04MySQL 8.0 安装与安全配置通用教程

适用系统:Ubuntu 20.04 适用MySQL版本:8.0.x 作者:根据用户实际操作整理 更新时间:2024年4月。

qq_52489359的博客 1363

如何在 Ubuntu 20.04安装 MySQL

通过完成它,您将拥有一个可工作的关系数据库,您可以使用它来构建您的下一个网站或应用程序。如果您选择设置验证密码插件,则您创建的使用密码进行身份验证的任何 MySQL 用户都将需要拥有满足您选择的策略的密码。这将删除一些匿名用户和试数据库,禁用远程 root 登录,并加载这些新规则,以便 MySQL 立即尊重您所做的更改。. 如果您计划将此数据库与 PHP 应用程序(例如 phpMyAdmin)一起使用,您可能需要创建一个用户,该用户将使用较旧但仍然安全的。脚本完成后,您的 MySQL 安装将受到保护。

活到老、学到老 1768

Ubuntu20.04安装Mysql

Ubuntu20.04安装Mysql1.1 下载安装MySQL1.2通过apt 安装MySQL服务2.1 初始化配置2.2检查mysql服务状态3.1配置远程访问3.2新建数据库和用户3.3mysql服务命令4、数据库操作命令4.1mysql服务操作4.2数据库操作4.3表操作4.4修改表结构4.5数据操作4.6数据的备份与恢复4.7卸载 1.1 下载安装MySQLUbuntu中,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包apt-get

weixin_38924500的博客 4万+

Ubuntu 20.04安装MySQL教程

MySQL是一个开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装。它使用关系数据库和SQL(结构化查询语言)来管理其数据。

m0_57165777的博客 6992

ubuntu20.04安装mysql数据库

ubuntu20.04安装mysql数据库

孤寒者的博客 3万+

Ubuntu20.04安装MySQL及配置MySQL workbench

文章目录前言一、MySQL安装与配置1. 安装MySQL2. 配置MySQL二、配置MySQL远程访问三、安装配置MySQL workbench1. 安装MySQL workbench2.使用MySQL workbench连接到数据库总结 前言 最近在学习林子雨老师的大数据时,发现为 Hadoop 安装 Hive 需要使用 MySQL 数据库保存 Hive 的元数据,而不是采用 Hive 自带的 derby 来存储元数据。为了填补大数据专栏的空白,查阅资料完成此篇博客。 系统版本:Ubuntu20.04

程序必须为人类阅读而编写,并且仅仅碰巧可以让机器执行 1万+

Ubuntu20.04安装MySQL8.0及正确配置[已验证]

Ubuntu20.04安装MySQL8.0及正确配置[已验证]安装MySQL验证登陆MySQL创建db解决workbench连接的问题小结常用操作如何新增用户对新增的用户更改加密方式和密码卸载MySQL参考 Ubuntu20.04版本中,源仓库中MySQL的默认版本已经更新到8.0。因此可以直接安装安装MySQL sudo apt-get update #更新源 sudo apt-get install mysql-server #安装 验证 安装完成后,可以通过下面的命令来查看时候安装

用心读书 6万+

Ubuntu 20.04安装MySQL的方法

MySQL 是一个开源的数据库管理系统,通常作为流行的 LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈的一部分安装。它实现了关系模型,并使用结构化查询语言(更为人所知的是 SQL)来管理其数据。本教程将介绍如何在 Ubuntu 20.04 服务器上安装 MySQL 8.0 版本。完成本教程后,您将拥有一个可用于构建下一个网站或应用程序的工作关系型数据库。

rubys007的博客 3378

ubuntu20.04安装mysql5.7版本

默认情况下,ubuntu20.04版本自带的mysql是8.0,如果我们需要安装5.7版本,我们需要通过如下的方式来安装。 1、直接下载二进制压缩包进行安装,解压并设置相关的参数就可以运行。 2、下载5.7的源,然后通过apt install mysql-server=5.7.31-1ubuntu18.04的方式进行安装。 3、下载5.7的deb文件,然后通过dpkg -i的方式安装。 这里,主要讲讲后面两种方式的安装,如何通过增加源apt install或者d...

feinifi的博客 3万+

Ubuntu20.04 离线安装 MySQL 5.7

基于64位Ubuntu20.04.4,离线环境下,安装 MySQL5.7.*

emergencysun的博客 8123

Ubuntu 20.04 LTS上安装MySQL 8.0的详细步骤讲解

安装MySQL 8.0在不同的操作系统上会有所不同,但在大多数Linux发行版上,安装过程都遵循相似的步骤。这里,我将提供在Ubuntu 20.04 LTS上安装MySQL 8.0的详细步骤,这些步骤可以轻松地应用到其他Linux发行版上,只需进行少量修改。

Mortal3306的博客 1万+

MySQLUbuntu 20.04安装 MySQL 5.7

这篇文章详细介绍了在 Ubuntu 20.04安装 MySQL 5.7 的过程。首先,检查并卸载已有的 MySQL 服务,然后添加 MySQL APT 存储库的源,并处理公钥错误。接着,安装 MySQL 5.7 客户端和服务端,并进行基本配置,包括设置字符集和服务端端口。最后,重启 MySQL 服务以应用配置。文章提供了相关命令和配置文件示例,并列出了参考链接。

ljh1257的博客 2907

-ubuntu20.04 安装 MySQL5.7

ubuntu 20.04 版本系统自带的 MySQL 版本是 8.0,普通方法很难安装 5.7 版本的。由于 8.0 版本较 5.7 版本做了不少改动,笔者比较习惯使用 5.7 版本。网上搜做了一圈,跟着各种教程试了很多遍,最后终于找到了成功的方法。过程记录分享出来,供大家参考。

Max一直在学习 1554

Ubuntu20.04安装Mysql5.6

因为Ubuntu20.04比较新,而Mysql5.6比较老,所以这两者之间的支持不太好。也不知道是服务器本身就有啥问题,还是两者软件的支持不足,我在安装Mysql5.6的时候遇到了很多困惑和问题。 2.1 彻底卸载MYSQL 因为不清楚服务器的具体状况,前面也实验了很多次都失败了,所以要先彻底的清除Mysql,然后再进行后续的安装。 第一,使用命令dpkg --list|grep mysql查看跟Mysql相关的包。 第二,首先卸载common包。sudo apt-get remove mysq..

哎呀牙刷子的博客 7523

ubuntu20.04安装mysql5.7

打开链接选择相应版本进行下载,这里mysql版本选择 5.7.35,系统选择Ubuntu Linux,选择64位的进行下载。

oYuLian的博客 1698
上一篇: 静态服务器(面向对象版),超级详细的注释!
下一篇: 关于pycharm运行python manage.py makemigrations提示错误解决办法
Peeryer
博客等级 码龄9年 295粉丝 40原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值