ubuntu20安装Mysql及Mysql的基本操作

         MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

​         MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

  • 电脑:联想
  • 系统:Ubuntu20

一、安装Mysql

依次执行安装命令

sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
sudo netstat -tap | grep mysql

 

配置远程登录

# 找到配置文件,注释掉bind-address
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 进入MySQL
mysql -uroot -p
# 修改Root用户的访问权限
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
# 刷新权限
mysql> flush privileges;
# 退出MySQL
mysql> exit
# 重启MySQL服务
sudo /etc/init.d/mysql restart

查看版本信息:

sudo mysqladmin -u root version -p

 

 二、确认MySQL服务

1、打开终端,查看mysql服务状态:

service mysql status

2、如果mysql服务不存在则安装mysql服务,如果服务未启动则启动mysql

启动mysql

service mysql start

停止mysql

service mysql stop

重启mysql

service mysql restart

 三、设置或修改MySQL登录密码

1、安装mysql服务之后root用户默认无密码,如果root用户还未设置密码,可以直接通过以下命令进入修改

sudo mysql -u root

2、如果忘记了root用户的密码可以通过以下方式修改

1)、修改/etc/mysql/my.cnf文件,在最下面添加或修改以下内容

[mysqld]
skip-grant-tables=1

2)、重启mysql服务

3)、输入命令进入操作界面

mysql

4)、修改root用户密码,这里把密码设置成123456,如果设置其他密码请修改

USE mysql;

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

flush privileges;

exit;

5)、修改/etc/mysql/my.cnf文件,把上面步骤添加或修改的内容恢复

6)、重启mysql服务,输入以下命令,然后再输入密码确认是否成功

mysql -u root -p

至此完成MySQL的安装 

四、MySQL基本操作

1、在终端输入以下命令,然后输入root用户密码,进入MySQL操作界面

mysql -u root -p

列出所有数据库:

show databases;

结果如下 

3、创建一个数据库test(create database 数据库名)

create database test charset utf8;

4、选择刚创建的数据库test作为当前操作的数据库(use 数据库名)

use test;

5、创建一个学生表student,表中包含字段:学号(sno),姓名(sname),性别(ssex),年龄(sage)

(create table 表名(字段名1  字段类型1,字段名2  字段类型3 ....)

create table student(sno varchar(20), sname varchar(20), ssex varchar(2), sage int);

6、查看当前数据库中的表

show tables;

7、查看student的表结构

desc student;

8、往表中添加一条记录,例如:

(insert into 表名(字段,字段,....) values ('值‘,’值‘,.....)

insert into student(sno, sname, ssex, sage) values ('123456789', '张三', '男', 20);

9、查询全部数据

select * from student;

10、只查询学号和姓名(select 字段名 from 表名)

select sno, sname from student;

11、添加多条数据

(insert into 表名(字段,字段,....) values ('值‘,’值‘,.....),('值‘,’值‘,.....),....

insert into student(sno, sname, ssex, sage) values 
('1001', 'Tome', '男', 25), 
('1002', '李四', '男', 23), 
('1003', 'Lisa', '女', 21);

 12、更新数据(更新sno=1002的数据,修改名字)

(update 表名 set 字段名=’值‘ where 字段名=’值‘)

update student set sname = 'Lisi' where sno = '1002';

13、条件查询(找出所有的男生)

(select 目标字段 from 表名 where 条件)

select * from student where ssex = '男';

14、删除(sno=1002的记录)

(delete from 表名 where 条件)

delete from student where sno = '1002';

15、统计(查询当前表中有多少条记录)

(select count(*) from 表名)

select count(*) from student;

16、统计(查询表中男生和女生各有多少条记录)

(select 字段,count(*) from 表名 group by 字段)

select ssex, count(*) from student group by ssex;

17、排序(按年龄由大到小排列)

(select * from 表名 order by 字段 desc)    # desc表示从大到小排序   asc 表示从小到大

select * from student order by sage desc;

18、清空表数据

(truncate 表名)

truncate student;

19、删除表(student)

(drop table 表名)

drop table student;

20、退出mysql

exit

 五、卸载MySQL

# 查看 MySQL 的依赖项
dpkg --list|grep mysql
# 卸载命令
sudo apt-get remove mysql-common
# 卸载命令
sudo apt-get autoremove --purge mysql-server-5.7
# 清除残留数据
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
# 再次查看 MySQL 剩余依赖项
dpkg --list|grep mysql
# 删除剩余依赖项
sudo apt-get autoremove --purge mysql-apt-config

六、常见问题

1、mysql: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored.

 解决方法:将etc/mysql/my.cnf的权限修改:sudo chmod 644 my.cnf

2、ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’ 

解决方法:

sudo mysql;   # 进入mysql

use mysql;  # 使用数据库mysql

执行命令:

1、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

new-password 为你想设置的密码

2、flush privileges;

exit;  #退出mysql

sudo service mysql restart   # 重启mysql

mysql -u root -p   # 测试是否能进入MySQL

3、无法通过 mysql -uroot -p 进入 MySQL。报错:"Access denied for user 'root'@'localhost'"

解决方法:root 的 plugin 被修改为了 auth_socket,而密码登录的 plugin 应该是 mysql_native_password。(上面)

 4、ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

1、ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-password';

new-password 为你想设置的密码

2、flush privileges;

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值