日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL数据库篇之初识数据库

發(fā)布時(shí)間:2023/12/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL数据库篇之初识数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

主要知識(shí)點(diǎn):

  一、數(shù)據(jù)庫(kù)概述

  二、mysql安裝與基本管理

?

1?? 數(shù)據(jù)庫(kù)概述

  1、什么是數(shù)據(jù)(Data)?

    描述事物的符號(hào)記錄稱(chēng)為數(shù)據(jù),描述事物的符號(hào)既可以是數(shù)字,也可以是文字、圖片,圖像、聲音、

  語(yǔ)言等,數(shù)據(jù)由多種表現(xiàn)形式,它們都可以經(jīng)過(guò)數(shù)字化后存入計(jì)算機(jī)。

  2、什么是數(shù)據(jù)庫(kù)(DataBase,簡(jiǎn)稱(chēng)DB)?

    數(shù)據(jù)庫(kù)即存放數(shù)據(jù)的倉(cāng)庫(kù),只不過(guò)這個(gè)倉(cāng)庫(kù)是在計(jì)算機(jī)存儲(chǔ)設(shè)備上,而且數(shù)據(jù)是按一定的格式存放的。

    數(shù)據(jù)庫(kù)是長(zhǎng)期存放在計(jì)算機(jī)內(nèi)、有組織、可共享的數(shù)據(jù)。

    數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種 用戶共享。

  3、?什么是數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System 簡(jiǎn)稱(chēng)DBMS)?   

    了解了Data與DB的概念后,如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),如何高效獲取和維護(hù)數(shù)據(jù)成了關(guān)鍵

    這就用到了一個(gè)系統(tǒng)軟件---數(shù)據(jù)庫(kù)管理系統(tǒng),如MySQL、Oracle、SQLite、Access、MS SQL Server

    mysql主要用于大型門(mén)戶,例如搜狗、新浪等,它主要的優(yōu)勢(shì)就是開(kāi)放源代碼,因?yàn)殚_(kāi)放源代碼這個(gè)數(shù)據(jù)庫(kù)是免費(fèi)的,他現(xiàn)在是甲骨文公司的產(chǎn)品。
    oracle主要用于銀行、鐵路、飛機(jī)場(chǎng)等。該數(shù)據(jù)庫(kù)功能強(qiáng)大,軟件費(fèi)用高。也是甲骨文公司的產(chǎn)品。
    sql server是微軟公司的產(chǎn)品,主要應(yīng)用于大中型企業(yè),如聯(lián)想、方正等。

  4、總結(jié):

1、數(shù)據(jù)庫(kù)服務(wù)器:運(yùn)行數(shù)據(jù)庫(kù)管理軟件的計(jì)算機(jī) 2、數(shù)據(jù)庫(kù)管理軟件:mysql、oracle、db2、sqlserver 3、庫(kù):文件夾 4、表:文件 5、記錄:事物一系列典型的特征,如:cc,male,21 6、數(shù)據(jù):描述事物特征的符號(hào)Mysql:關(guān)系型數(shù)據(jù)庫(kù)管理軟件,由瑞典MySQL公司開(kāi)發(fā),目前屬于Oracle公司。

  數(shù)據(jù)庫(kù)服務(wù)器-:運(yùn)行數(shù)據(jù)庫(kù)管理軟件

  數(shù)據(jù)庫(kù)管理軟件:管理-數(shù)據(jù)庫(kù)

  數(shù)據(jù)庫(kù):即文件夾,用來(lái)組織文件/表

  表:即文件,用來(lái)存放多行內(nèi)容/多條記錄

?

?

2?? mysql安裝與基本管理

  1、MySQL是什么?

mysql就是一個(gè)基于socket編寫(xiě)的C/S架構(gòu)的軟件客戶端軟件mysql自帶:如mysql命令,mysqldump命令等python模塊:如pymysql

  2、數(shù)據(jù)庫(kù)管理軟件分類(lèi)

分兩大類(lèi):關(guān)系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql語(yǔ)句通用非關(guān)系型:mongodb,redis,memcache可以簡(jiǎn)單的理解為:關(guān)系型數(shù)據(jù)庫(kù)需要有表結(jié)構(gòu)非關(guān)系型數(shù)據(jù)庫(kù)是key-value存儲(chǔ)的,沒(méi)有表結(jié)構(gòu)

  3、下載和安裝

    3.1 Linux下載和安裝

#二進(jìn)制rpm包安裝 yum -y install mysql-server mysql

    3.2 Windows下載和安裝

#1、下載:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/#2、解壓 如果想要讓MySQL安裝在指定目錄,那么就將解壓后的文件夾移動(dòng)到指定目錄,如:C:\mysql-5.7.16-winx64#3、添加環(huán)境變量 【右鍵計(jì)算機(jī)】--》【屬性】--》【高級(jí)系統(tǒng)設(shè)置】--》【高級(jí)】--》【環(huán)境變量】--》【在第二個(gè)內(nèi)容框中找到 變量名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】#4、初始化 mysqld --initialize-insecure#5、啟動(dòng)MySQL服務(wù) mysqld # 啟動(dòng)MySQL服務(wù)#6、啟動(dòng)MySQL客戶端并連接MySQL服務(wù) mysql -u root -p # 連接MySQL服務(wù)器

    問(wèn)題還沒(méi)有徹底解決,因?yàn)樵趫?zhí)行【mysqd】啟動(dòng)MySQL服務(wù)器時(shí),當(dāng)前終端會(huì)被hang住,那么做一下設(shè)置即可解決此問(wèn)題,即將MySQL服務(wù)制作成windows服務(wù)。

注意:--install前,必須用mysql啟動(dòng)命令的絕對(duì)路徑 # 制作MySQL的Windows服務(wù),在終端執(zhí)行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install# 移除MySQL的Windows服務(wù),在終端執(zhí)行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove注冊(cè)成服務(wù)之后,以后再啟動(dòng)和關(guān)閉MySQL服務(wù)時(shí),僅需執(zhí)行如下命令: # 啟動(dòng)MySQL服務(wù) net start mysql# 關(guān)閉MySQL服務(wù) net stop mysql

  4、MySQL的啟動(dòng)與查看

    4.1 Linux平臺(tái)下查看

# systemctl start mariadb #啟動(dòng) # systemctl enable mariadb #設(shè)置開(kāi)機(jī)自啟動(dòng) Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. # ps aux |grep mysqld |grep -v grep #查看進(jìn)程,mysqld_safe為啟動(dòng)mysql的腳本文件,內(nèi)部調(diào)用mysqld命令 mysql 3329 0.0 0.0 113252 1592 ? Ss 16:19 0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr mysql 3488 0.0 2.3 839276 90380 ? Sl 16:19 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock # netstat -an |grep 3306 #查看端口 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN # ll -d /var/lib/mysql #權(quán)限不對(duì),啟動(dòng)不成功,注意user和group drwxr-xr-x 5 mysql mysql 4096 Jul 20 16:28 /var/lib/mysql

  You must reset your password using ALTER USER statement before executing this statement.

安裝完mysql 之后,登陸以后,不管運(yùn)行任何命令,總是提示這個(gè) mac mysql error You must reset your password using ALTER USER statement before executing this statement. 解決方法: step 1: SET PASSWORD = PASSWORD('your new password'); step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; step 3: flush privileges;

    4.2?windows平臺(tái)到服務(wù)中查看即可  

初始狀態(tài)下,管理員root,密碼為空,默認(rèn)只允許從本機(jī)登錄localhost 設(shè)置密碼 [root@cc ~]# mysqladmin -uroot password "123" 設(shè)置初始密碼 由于原密碼為空,因此-p可以不用 [root@cc ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密碼,因?yàn)橐呀?jīng)有密碼了,所以必須輸入原密碼才能設(shè)置新密碼 命令格式: [root@cc ~]# mysql -h172.31.0.2 -uroot -p456 [root@cc ~]# mysql -uroot -p [root@cc ~]# mysql 以root用戶登錄本機(jī),密碼為空

  5、破解密碼

    5.1?linux平臺(tái)下,破解密碼的兩種方式

    方法一:刪除授權(quán)庫(kù)mysql,重新初始化

[root@cc ~]# rm -rf /var/lib/mysql/mysql #所有授權(quán)信息全部丟失!!! [root@cc ~]# systemctl restart mariadb [root@cc ~]# mysql

    方法二:啟動(dòng)時(shí),跳過(guò)授權(quán)庫(kù)

[root@cc ~]# vim /etc/my.cnf #mysql主配置文件 [mysqld] skip-grant-table [root@cc ~]# systemctl restart mariadb [root@cc ~]# mysql MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost"; MariaDB [(none)]> flush privileges; MariaDB [(none)]> \q [root@cc ~]# #打開(kāi)/etc/my.cnf去掉skip-grant-table,然后重啟 [root@cc ~]# systemctl restart mariadb [root@cc ~]# mysql -u root -p123 #以新密碼登錄

    5.2?windows平臺(tái)下,5.6版本mysql,破解密碼的兩種方式:

    方式一:

#1 關(guān)閉mysql #2 在cmd(管理員)中執(zhí)行:mysqld --skip-grant-tables #3 在cmd中執(zhí)行:mysql #4 執(zhí)行如下sql: update mysql.user set password=password("cc233") where user="root" and host="localhost"; flush privileges;#5 查找mysql進(jìn)程:tasklist |findstr mysql;殺死對(duì)應(yīng)進(jìn)程:tskill mysqld #或taskkill -f /PID 7832 #6 重新啟動(dòng)mysql(net start mysql),嘗試使用新密碼登錄

    方式二:

#1. 關(guān)閉mysql,可以用tskill mysqld將其殺死 #2. 在解壓目錄下,新建mysql配置文件my.ini #3. my.ini內(nèi)容,指定 [mysqld] skip-grant-tables#4.啟動(dòng)mysqld #5.在cmd里直接輸入mysql登錄,然后操作 update mysql.user set authentication_string=password('') where user='root and host='localhost'; flush privileges;#6.注釋my.ini中的skip-grant-tables,然后啟動(dòng)myqsld,然后就可以以新密碼登錄了

?

  6、統(tǒng)一字符編碼

  注意:配置文件中的注釋可以有中文,但是配置項(xiàng)中不能出現(xiàn)中文

  全局配置解析

#在mysql的解壓目錄下,新建my.ini,然后配置 #1. 在執(zhí)行mysqld命令時(shí),下列配置會(huì)生效,即mysql服務(wù)啟動(dòng)時(shí)生效 [mysqld] ;skip-grant-tables port=3306 character_set_server=utf8 default-storage-engine=innodb innodb_file_per_table=1#解壓的目錄 basedir=E:\mysql-5.7.19-winx64 #data目錄 datadir=E:\my_data #在mysqld --initialize時(shí),就會(huì)將初始數(shù)據(jù)存入此處指定的目錄,在初始化之后,啟動(dòng)mysql時(shí),就會(huì)去這個(gè)目錄里找數(shù)據(jù)#2. 針對(duì)客戶端命令的全局配置,當(dāng)mysql客戶端命令執(zhí)行時(shí),下列配置生效 [client] port=3306 default-character-set=utf8 user=root password=123#3. 只針對(duì)mysql這個(gè)客戶端的配置,2中的是全局配置,而此處的則是只針對(duì)mysql這個(gè)命令的局部配置 [mysql] ;port=3306 ;default-character-set=utf8 user=egon password=4573#!!!如果沒(méi)有[mysql],則用戶在執(zhí)行mysql命令時(shí)的配置以[client]為準(zhǔn) View Code

  統(tǒng)一字符編碼

#1. 修改配置文件 [mysqld] default-character-set=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8#mysql5.5以上:修改方式有所改動(dòng) [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8#2. 重啟服務(wù) #3. 查看修改結(jié)果: \s show variables like '%char%'

?

轉(zhuǎn)載于:https://www.cnblogs.com/schut/p/9038729.html

總結(jié)

以上是生活随笔為你收集整理的MySQL数据库篇之初识数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。