Ubuntu安装MySQL及常用操作
简述:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
一、安装MySQL
使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:
-
sudo apt-get update #更新软件源
-
sudo apt-get install mysql-server #安装mysql
上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。
-
启动和关闭mysql服务器:
-
service mysql start
-
service mysql stop
启动mysql
-
确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:
-
sudo netstat -tap | grep mysql
查看是否启动成功
-
进入mysql shell界面:
1.mysql -u root -p
进入shell界面(mysql视图)
-
更改编码格式,解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)
导致导入时中文乱码的原因是character_set_server默认设置是latin1,输入show variables like "char%";查看如下图。
可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。
(1)编辑配置文件。sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在[mysqld]下添加一行character_set_server=utf8,。如下图
(3)退出mysql视图重启MySQL服务。service mysql restart
(4)登录MySQL,再次查看MySQL目前设置的编码。show variables like "char%";
二、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;
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;
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();
三、MySQL卸载,配置远程连接
卸载mysql
-
sudo apt-get remove mysql-*
-
dpkg -l |grep ^rc|awk ‘{print $2}‘ |sudo xargs dpkg -P
-
清除残余数据
-
-
检查mysql是否在运行
-
sudo service mysql status
-
一般安装完成之后都会自动运行的,如果没有运行就启动mysql服务
-
sudo service mysql start
-
启动mysql服务
-
-
service mysql stop
-
停止mysql服务
-
-
service mysql restart
-
重启mysql服务
-
-
-
-
-
Uburun下配置mysql远程连接
-
修改配置文件
-
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
-
注释掉(若不注销无法远程连接) bind-address=127.0.0.1
-
-
-
创建用户
mysql> create user ‘dc‘@‘%‘ identified by ‘123456‘;
-
修改用户权限
mysql -u root -p "Your root passwd"
mysql> grant all on *.* to root@‘%‘ identified by ‘Your root passwd‘;
mysql> flush privileges;
如: 为用户dc增加远程访问权限
mysql -u root -p
mysql> grant all on *.* to dc@‘%‘ identified by ‘123456‘;
mysql> flush privileges;
注:dc表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个123456表示密码
-
重启MySQL服务
sudo /etc/init.d/mysql restart
-
若仍然不行查看是否代开3306端口,打开3306端口
sudo ufw allow 3306
-
登录mysql,修改权限
-
grant all privileges on *.* to ‘账户名‘@‘%‘ identified by ‘密码‘ with grant option;
-
flush privileges;
-