數據庫mysql linux

linux 下的軟件安裝方式
a. 源碼包(建議)
優勢
開源,若是有足夠的能力,能夠修改源代碼
編譯安裝。更加適合本身的系統。穩定高效
缺點
安裝步驟較多,容易出錯
編譯過程時間較長mysql

  1. 先將軟件包傳遞到服務器上。放到/usr/lcoal/src
  2. 解壓須要安裝的源碼包 # tar -zxvf
  3. 切換到源碼目錄而後 cd
  4. 配置(config/configure/bootstrap) ---編譯(make/bootstrapd)----安裝(make install/bootstrapd install)
    配置操做主要是指定軟件的安裝目錄、須要的依賴在什麼地方、指定不須要可選依賴、配置文件的路徑、通用數據存儲位置等等。
    指定安裝的路徑: --pefix=路徑
    須要依賴的路徑:--with-PACKAGE 名=包所在的路徑
    不須要依賴:--without-PACHAGE 名
    二進制包
    優勢:包管理系統簡單、只須要幾個命令就能夠實現包的安裝,升級、查詢和卸載
    缺點:通過編譯、再也不能夠看到源代碼

使用二進制包安裝lynx(一款純命令行的瀏覽器)
在光盤中就有這個包linux

例如查百度 :#lynx –dump www.baidu.com
lynx 咱們能夠經過它寫一個計劃任務。sql

#yum list 查看yum能夠安裝的軟件
#yum search包名 搜索指定的關鍵詞的包
#yum remove 包名
二、安裝mysql(重點)
#yum install mysql-server(安裝服務器端)
mysql 初始化操做
#serivce mysql start
#mysql_secure_installation
#which mysql_secure_installation 查看命令在那
看MySQL端口號
netstat –tnlp
mysql默認端口號 tcp 3306數據庫

3、MySQL 的基本操做(難點)
以excel爲例
數據庫:能夠看做是整個Excel文件
數據表:能夠看做是一個Excel文件中的工做表
行(記錄):能夠看做一個工做表中的一行
列(字段):能夠看做一個工做表中總的一列bootstrap

庫操做(大小寫不區分)
show databases; 查看當前MySQL中所有的數據庫
create database 庫名;建立數據庫
drop database 庫名; 刪除數據庫
use 庫名; 切換數據庫瀏覽器

表操做
show tables; 顯示當前數據庫中全部的表名(必須先use 數據庫)
create table 表名稱 在當前數據庫下建立數據表
(
列名稱1 數據庫類型 [NOT NULL AUTO_INCREMENT],(不容許爲空 遞增通常給第一個字段加)
列名稱2 數據類型,
列名稱3 數據類型,
…,
PRIMARY KEY(主鍵字段名)
);
常見的數據類型:int(整型)、char(定長字符)、varchar(不定長字符)、
主鍵通常就是序號所在的那一列(主鍵不能重複)
desc 表名; (描述一個數據表)查看錶結構
drop table [if exists] 表名; 刪除數據表[判斷]bash

案例:上述的語法
查看全部的數據表
要求 表名xg
id字段、11爲整型、不爲空、自增、主鍵
Username字段、varchar類型、20長度
password 字符 、char類型
sql(standard query language)語句:
Create table xg(
id int(11) not null auto_increment,
username varchar(20),
password char(32),
primary key(id)
);
查看錶結構:desc 表名服務器

刪除數據表:drop table if exists xg;
記錄/字段操做(重點 加行數)
增長記錄
語法1:INSERT INTO 表名稱 VALUES(值1,值2…..);
語法 2:INSERT INTO 表名稱(列1,列2….) VALUES(值1,值2,…..);
案例:往數據表xg表中新增一個記錄username爲zhangsan,password爲123456(加密結果 )
sql語:
insert into xg(username,password)values(‘zhangsan’,123)
``表示字段 ‘’字符串必須加引號微信

更新記錄
語法:update 表名稱 set 列名稱1 = 新值1,列名稱2 = 新值2… where 列名稱 = 某值;
之後在執行影響行數操做的時候,必定須要注意條件是否寫錯或者漏寫。架構

案例:使用更新語句去更新id大於等於2的記錄。將其密碼改成456
sql語句:update xg set password=’456’ where id >=2

查詢記錄
select 列名稱1,列名稱2…. from 表名稱 where 條件;
select from 表名稱 where 條件;
案例:查詢剛纔新增的記錄
只查詢用戶名和密碼,而且是id =2的。
select username,password from xg where id=2;
查詢所有
select
from xg;

刪除記錄
delete from 表名 where 列名稱 =值;
案例:刪除id爲2的記錄。
delete from xg where id=2;
索引一直都在的。

備份與還原(重點)
全量(所有)備份:(數據+結構):
#mysqldump –uroot –p 12345 –A > 備份文件路徑(數據+結構)
指定庫備份(數據+結構)
#mysqldump –uroot –p 12345 庫名> 備份文件路徑
多個庫備份(數據+結構)
#mysqldump –uroot –p 12345 --databases db1 db2 > 備份文件路徑
文件格式xxxx.sql
案例:每分鐘自動備份1次test數據庫

mkfile test19.sh
#!/bin/bash
filename=」test」_date+’%Y%m%d%H%M’」.sql」
mysqlsump –uroot –p 密碼 test > /root/$filename
crontab –e

        • /root/test19.sh

還原數據

設置Mysql 鏈接字符集:
Mysql>set name utf8; [三碼一致] 服務器端 +傳輸過程當中+客戶端

遠程登錄終端鏈接數據庫
MySQL的遠程管理工具
分爲兩大類:B/S 架構 、C/S 架構
B/S: B是指瀏覽器,S是服務器 例如:百度

C/S: C 是客戶端,S是服務器 例如:QQ 、電腦端微信
軟件爲:Navicat 、mysql workbrach
要解決的問題要容許MySQL遠程登錄。

將其中一個記錄的host改成% 表示能夠在任意地址登錄

update user set host = ‘%’ where host = ‘yunwei’;
成功後

刷新權限表或者重啓MySQLflush privileges;

相關文章
相關標籤/搜索