mysql学习(一)linux下mysql数据库的安装、配置

写在前面的话:本文约定#后面为作者注释内容,且在执行ls指令后输出结果出现粗体,为本人加入,为的是显示出需要特别注意的地方,也就是需要关注的地方,这些地方将要被执行操作,

安装执行语句(终端下):
1. sudo apt-get install mysql-server

2. sudo apt-get isntall mysql-client

3. sudo apt-get install libmysqlclient-dev
  执行完这三条语句后mysql安装完成,注意:在安装过程中需要设置密码,也可能没有出现密码过程
  ~$ service mysql start #启动mysql服务
  ~$ mysql -h localhost -u root -p #终端下输入如下指令
Enter password: #输入root密码
ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’
服务被拒绝,可能原因是安装过程中没有输入mysql密码
登录方式改为:
~$ sudo mysql -u root -p
Enter password: #依然是root密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> select user, plugin from mysql.user;
±-----------------±----------------------+
| user | plugin |
±-----------------±----------------------+
| root | auth_socket | #此处是随机密码,需要修改mysql密码
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
±-----------------±----------------------+
4 rows in set (0.00 sec)
#在root的plugin列显示为auth_socket,修改登陆mysql密码操作如下:
其中,PASSWORD(‘wenlong’)括号中wenlong为你的mysql密码

mysql> update mysql.user set authentication_string=PASSWORD(‘wenlong’), plugin=‘mysql_native_password’ where user=‘root’;
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> quit
Bye
~$ service mysql restart #重启
:~$ service mysql start #启动
~$ mysql -h 127.0.0.1 -u root -p mysql -P 3306
Enter password: #刚才设置的mysql密码,注意次密码要记牢,记牢,记牢!
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> show databases; #查看所有数据库名
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
±-------------------+
4 rows in set (0.00 sec)

mysql> show create database mysql; #显示数据库结构 语法:show create database 数据库名;
±---------±-----------------------------------------------------------------+
| Database | Create Database |
±---------±-----------------------------------------------------------------+
| mysql | CREATE DATABASE mysql /*!40100 DEFAULT CHARACTER SET latin1 */ |
±---------±-----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> exit
Bye
lwl@lwl-vm:~$ mysql -u root -p
Enter password: #密码:wenlong
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> show variables like ‘CHAR%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
8 rows in set (0.00 sec)
#刚安装完mysql时上述列表中加粗的两行的value值为latin1,在操作数据库时不能输入中文,
#当别人输入令狐冲、任盈盈、向问天时,你就只能输入Tom and so on 英文名,
#需要修改配置,使数据库支持中文输入(utf8)—修改步骤如下:

mysql> exit
Bye
~$ cd /etc/mysql/
~$ ls
conf.d debian.cnf debian-start my.cnf my.cnf.fallback mysql.cnf mysql.conf.d
#其中 mysql.conf.d、conf.d两个文件需要修改,
$ cd mysql.conf.d/
$ ls
$ sudo vi mysqld.cnf #修改conf.d文件
[sudo] password for lwl: #root密码
#需要修改部分如下图:注意此文件需要使用root权限才能打开,需要在前面加入sudo
在这里插入图片描述
#注释:第39行处增加瑞典人研发的mysql支持中文输入 character-set-server = utf8 第45行默认情况是第44行内容,修改为第45内容表示本机可以作为服务器,否则只能作为客户端,在学习时建议讲IP地址修改为’0.0.0.0’
#保存退出

#修改mysql.conf.d 文件夹内容
$ cd …/conf.d/
$ ls
mysql.cnf mysqldump.cnf
sudo vim mysql.cnf
#同样需要root权限,在文件第二行处加入如下内容 default-character-set = utf8

在这里插入图片描述
#保存退出
#再次执行如下操作发现已经更改
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> show variables like ‘CHAR%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
8 rows in set (0.00 sec)

#---------------------------------------------------------------------------------------------------
现在配置好数据库了,就简单介绍一下数据库:
背景知识:
1.数据库概述
1.1 数据处理技术的发展
人工管理阶段:20世纪50年代中期之前
文件系统阶段:20世纪50年末~60年代中期
数据库阶段:20世纪60年代末~至今
三大标志性事件:
1968年,IBM公司 IMS
1969年,DBTG 发布了 数据库的标准和规范
1970年,IBM的研究人员 E.F.Codd首次提出关系型数据库的概念
特点:
采用复杂的结构化的数据模型
并发控制、数据库的恢复、数据的完整性、安全性等方面的控制功能
系统更为灵活
信息处理技术不再是以应用程序为中心,而是以数据为中心
1.2 几个术语
数据(data): 数据库中存储的基本对象,包括文字、图形、图像、声音等。
数据库(database):长期存储在计算机内、有组织、可共享的大量数据的集合
数据库管理系统(dbms):是处于用户和操作系统之间的一层数据库的管理软件。
科学的管理和存储数据、高效的获取和维护数据。
数据库系统(dbs):计算机系统内引入数据库后的系统构成。
数据库管理员(dba)
1.3 主流的关系型数据库产品
采用二维表保存数据
商业型:
Oracle Oracle(甲骨文)
DB2 IBM
SQL Server 微软
开源:
MySQL 瑞典 MySQL AB
2008,被sun公司收购
2009,sun公司被Oracle收购

1.4 SQL语言
SQL(Structured Query Language):结构化查询语言
SQL可分为:
数据查询语句(DQL, Data Query Language):select
数据操作语句(DML, Data Manipulation Language): insert delete update
数据定义语句(DDL, Data Definition Language): create drop alter
事务控制语句(TCL, Transaction Control Language ): commit rollback savepoint
数据控制语句(DCL, Data Control Language): create user、grant、revoke
1.5 MySQL 的优点 #这种语言肯定有优点,才会学习它

  1. 性能高效
  2. 跨平台支持
  3. 简单易用
  4. 开源
  5. 支持多用户(并发)
    2 MySQL基础知识
    –>2.1
    service mysql start #启动mysql数据库
    service mysql restart #重启数据库
    service mysql stop #停止数据库
    注:以上三条指令直接在命令行输入即可
    –>2.2连接MySQL服务器
    mysql [-h host] [-u username] [-p[pwd]] [dbname] [-P port]
    其中:
    host: 要连接的服务器的主机名或ip地址
    如果连接本机:可以省略 或 localhost 或 127.0.0.1
    username: 登录名
    pwd: 密码
    dbname: 当前数据库名
    port: 端口号 默认 3306
    示例:
    mysql -u root -pwenlong #本地连接,其中wenlong为数据库密码
    mysql -h localhost -u root -p #本地连接
    mysql -h 127.0.0.1 -u root -p mysql -P 3306 #本地连接,其中127.0.0.1为本地环回地址 3306端口号
    mysql -h xxx.xxx.xxx.xxx -u root -p #远程连接指令,其中xxx.xxx.xxx.xxx为数据库所在服务器ip地址,
    –>断开连接
    quit 或 exit

数据库基本操作语句 #每条语句都已;(英文分号)结束
show databases; #查看所有数据库名
show create database mysql; #显示数据库结构
create database roster; #创建数据库 数据库名为:roster(花名册)
use roster; #选择当前数据库
drop databas roster; # 删除数据库名

备注:由于本人能力有限文中不免出现错误,希望各位予以指出,更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值