ubuntu安装mysql

sudo apt-get update #更新软件源

sudo apt-get install mysql-server #安装mysql

sudo apt install mysql-client -y #安装mysql客户端

sudo apt purge mysql-*

apt-get purge 与 apt-get remove是不同的,简单来说:

purge可以将包以及软件的配置文件全部删除

remove仅可以删除包,但不会删除配置文件

service mysql start

service mysql stop

mysql -u root -p #登录


我们需要先找到默认的用户密码
sudo cat /etc/mysql/debian.cnf

mysql -udebian-sys-maint -p【密码】

设置root密码

mysql>use mysql;

mysql>flush privileges;

mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1';


确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:

sudo netstat -tap | grep mysql


解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)

导致导入时中文乱码的原因是character_set_server默认设置是latin1,如下图。

未修改server 编码

可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。

(1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

(2)在[mysqld]下添加一行character_set_server=utf8。如下图

修改server编码

(3)重启MySQL服务。service mysql restart

(4)登陆MySQL,并查看MySQL目前设置的编码。show variables like "char%";

server编码修改成功


二、MySQL常用操作

注意:MySQL中每个命令后都要以英文分号;结尾。

1、显示数据库

mysql> show databases;

MySql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

2、显示数据库中的表

mysql> use mysql; (打开库,对每个库进行操作就要打开此库)

Database changed

mysql> show tables;

3、显示数据表的结构:

describe 表名;

4、显示表中的记录:

select * from 表名;

例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。

select * from user;

5、建库:

create database 库名;

例如:创建一个名字位aaa的库

mysql> create database aaa;

6、建表:

use 库名;

create table 表名 (字段设定列表);

例如:在刚创建的aaa库中建立表person,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段

use aaa;

mysql> create table person (id int(3) auto_increment not null primary key, xm varchar(10),xb varchar(2),csny date);

可以用describe命令察看刚建立的表结构。

mysql> describe person;

describe-person

7、增加记录

例如:增加几条相关纪录。

mysql>insert into person values(null,'张三','男','1997-01-02');

mysql>insert into person values(null,'李四','女','1996-12-02');

注意,字段的值('张三','男','1997-01-02')是使用两个英文的单撇号包围起来,后面也是如此。

因为在创建表时设置了id自增,因此无需插入id字段,用null代替即可。

可用select命令来验证结果。

mysql> select * from person;

select-from-person

8、修改纪录

例如:将张三的出生年月改为1971-01-10

mysql> update person set csny='1971-01-10' where xm='张三';

9、删除纪录

例如:删除张三的纪录。

mysql> delete from person where xm='张三';

10、删库和删表

drop database 库名;

drop table 表名;

11、查看mysql版本

在mysql5.0中命令如下:

show variables like 'version';

或者:select version();



报错:

问题:登录root用户显示权限错误,

ubuntu@ubuntu:~$ mysql -u root -p

Enter password:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

解决:

1、通过sudo进入mysql,ubuntu默认sudo不需要密码就可以进

ubuntu@ubuntu:~$ sudo mysql

2、进入mysql库

mysql> use mysql;

3、改密码

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


远程访问:

use mysql; #切换到mysql

select user,host from user; #查看user列表

查看用户列表

select user, host,authentication_string, plugin from user;

#test1用户密码为test1

#可先通过sql语句查看test1串的哈希值的,然后再设置密码为这个哈希值

SELECT password('test1');

CREATE USER 'xty'@'192.168.0.103' IDENTIFIED BY '1'; #创建用户

use mysql; 进入数据库

1.直接改表

mysql> UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;

update user set host = '%' where user = 'xty';

该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"

2.授权账户

GRANT ALL PRIVILEGES ON . TO 'xty'@'192.168.0.103' IDENTIFIED BY '1' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION;

赋予该用户所有数据库所有表(*.*表示所有表),%表示所有IP地址

--允许指定主机(IP地址)访问权限:具体ip 192.168.0.103

mysql> flush privileges;#刷新

mysql> exit;

进入/etc/mysql/mysql.conf.d/mysqld.cnf文件把bind-address = 127.0.0.1注释,即在bind-address = 127.0.0.1前面加#

ubuntu@ubuntu:~/Desktop$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在bind-address = 127.0.0.1前面加#

重启

ubuntu@ubuntu:~/Desktop$ service mysql restart

相关推荐
powerfulzyh1 分钟前
Ubuntu24.04远程开机
linux·ubuntu·远程工作
ulimpid1 分钟前
Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
linux·ubuntu·command
HHoao2 分钟前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔4 分钟前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
GFCGUO6 分钟前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
winds~7 分钟前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
bush435 分钟前
使用root账号ssh登录虚拟机ubuntu
运维·ubuntu·ssh
小诸葛的博客2 小时前
Ubuntu如何如何安装tcpdump
linux·ubuntu·tcpdump
苹果醋33 小时前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
光通信学徒5 小时前
ubuntu图形界面右上角网络图标找回解决办法
linux·服务器·ubuntu·信息与通信·模块测试