Ubuntu 20.04 安装 mysql8 LTS

Ubuntu 20.04 安装 mysql8 LTS

sudo apt-get update

sudo apt-get install mysql-server -y

mysql --version

mysql Ver 8.0.35-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Ubuntu20.04 是自带了 MySQL8. 几版本的,低于 20.04 则默认安装是 MySQL5.7.33

systemctl status mysql.service

sudo netstat -tap | grep mysql

sudo service mysql start

sudo service mysql stop

进入MySQL,默认没有密码

以root 身份 进入 mysql shell

sudo mysql

sudo mysql -u root -p

show databases;#查看所有数据库

第一次的时候:

当前的用户和用户权限

select user from mysql.user ;

select host,user from mysql.user;

SELECT * FROM mysql.user WHERE user='root'\G

CREATE USER zhang3 IDENTIFIED BY '123123'; -- 默认host是 %

CREATE USER 'robofly'@'localhost' IDENTIFIED BY '123456';

show grants for root@'localhost';

user_name@host_name,其中host_name是主机IP地址或主机名。

1)为了能够在本地访问MySQL,使用localhost 或回路地址127.0.0.1。

2)如果使用通配符%作为主机,则允许客户端指定用户从任意主机连接。

3)主机指定为127.0.0.1时,会通过TCP/IP协议连接,并且只能在本机访问;

4)主机指定为localhost时,localhost不会被解析成IP地址,直接通过UNIXsocket连接。

4、设置root 的密码

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

5、刷新

flush privileges;

远程登录

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

#使得mysql可以远程登陆

vim /etc/mysql/mysql.conf.d/mysqld.cnf

#注释掉这一行

#bind-address = 127.0.0.1

sudo service mysql restart

远程连接

创建用户并授权

(root默认密码一般为123456)

c 复制代码
mysql -u root -p
123456     //登录成功后会跳出来 mysql>
CREATE USER XXX IDENTIFIED BY 'ABC';   //XXX为用户名,'ABC'为密码,";"一定要加上
Grant all privileges on *.* to 'XXX'@'%' with grant option;  //这里的'XXX'为用户名
flush privileges;    //刷新权限
这样就完成了用户创建和授权,如果要查看用户有哪些,可以继续执行:

use mysql;     //切换至mysql数据库(root用户自带mysql数据库)
select host,user from user;    //查看用户列表
  1. 使用命令行连接远程数据库:

在命令行中输入以下命令:

mysql -h 远程主机IP地址 -u 用户名 -p 密码

其中,远程主机IP地址是指要连接的远程数据库服务器的IP地址,用户名和密码是远程数据库服务器的登录凭证。输入命令后,按回车键即可连接到远程数据库。

c 复制代码
sudo mysql -u root -p
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'abc123';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
select host,user from mysql.user;
flush privileges;

远程连接

c 复制代码
mysql -h 192.168.99.40 -u remote_user -p
查看 当前用户

SELECT USER();

查看当前用户权限

如果你想查看当前用户的权限,请使用以下命令:

SHOW GRANTS FOR CURRENT_USER();

该命令将返回当前用户的所有权限。如果你想只查看当前用户拥有的特定权限,你可以使用以下命令:

4.5 当前选择的数据库

命令:

mysql> select database();

MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

1.显示MYSQL的版本

mysql> select version();

11、查看表结构:describe <表名>;

12、当前所有连接的详细情况:show full processlist;(没有full,只显示前100个连接)

13、查看状态:show status like '%下面变量%';

14、看表注释,字段注释;

show create table table_name;

show full columns from table_name;

show table status;

相关推荐
石小千1 小时前
Nexus升级(3.63.0--3.87.1)
运维
魂万劫2 小时前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
序属秋秋秋3 小时前
《Linux系统编程之进程控制》【进程等待】
linux·c语言·c++·进程·系统编程·进程控制·进程等待
zfj3213 小时前
top 命令中的 wa (IO wait) 指标,理论上几乎完全是由磁盘IO(包括swap)引起的,而不是网络IO
linux·网络·top·iowait
Xの哲學3 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
数字化转型20253 小时前
SAP Signavio 在风机制造行业的深度应用研究
大数据·运维·人工智能
用户6135411460163 小时前
libicu-62.1-6.ky10.x86_64.rpm 安装步骤详解(麒麟V10系统)
linux
WordPress学习笔记3 小时前
wordpress根据分类ID调用分类名称和分类描述
运维·wordpress
qq_455760854 小时前
docker - 镜像、存储卷和网络深入理解
运维·docker·容器
秋4275 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全