MySQL數據庫篇之初識數據庫

主要知識點:python

  1、數據庫概述mysql

  2、mysql安裝與基本管理linux

 

1️⃣ 數據庫概述redis

  一、什麼是數據(Data)?sql

    描述事物的符號記錄稱爲數據,描述事物的符號既能夠是數字,也能夠是文字、圖片,圖像、聲音、mongodb

  語言等,數據由多種表現形式,它們均可以通過數字化後存入計算機。數據庫

  二、什麼是數據庫(DataBase,簡稱DB)?vim

    數據庫即存放數據的倉庫,只不過這個倉庫是在計算機存儲設備上,並且數據是按必定的格式存放的。windows

    數據庫是長期存放在計算機內、有組織、可共享的數據。服務器

    數據庫中的數據按必定的數據模型組織、描述和儲存,具備較小的冗餘度、較高的數據獨立性和易擴展性,並可爲各類 用戶共享。

  三、 什麼是數據庫管理系統(DataBase Management System 簡稱DBMS)?   

    瞭解了Data與DB的概念後,如何科學地組織和存儲數據,如何高效獲取和維護數據成了關鍵

    這就用到了一個系統軟件---數據庫管理系統,如MySQL、Oracle、SQLite、Access、MS SQL Server

    mysql主要用於大型門戶,例如搜狗、新浪等,它主要的優點就是開放源代碼,由於開放源代碼這個數據庫是免費的,他如今是甲骨文公司的產品。
    oracle主要用於銀行、鐵路、飛機場等。該數據庫功能強大,軟件費用高。也是甲骨文公司的產品。
    sql server是微軟公司的產品,主要應用於大中型企業,如聯想、方正等。

  四、總結:

1、數據庫服務器:運行數據庫管理軟件的計算機 2、數據庫管理軟件:mysql、oracle、db二、sqlserver 3、庫:文件夾 4、表:文件 五、記錄:事物一系列典型的特徵,如:cc,male,21 6、數據:描述事物特徵的符號 Mysql:關係型數據庫管理軟件,由瑞典MySQL公司開發,目前屬於Oracle公司。

  數據庫服務器-:運行數據庫管理軟件

 
 

  數據庫管理軟件:管理-數據庫

 
 

  數據庫:即文件夾,用來組織文件/表

 
 

  表:即文件,用來存放多行內容/多條記錄

 

 

2️⃣ mysql安裝與基本管理

  一、MySQL是什麼?

mysql就是一個基於socket編寫的C/S架構的軟件 客戶端軟件   mysql自帶:如mysql命令,mysqldump命令等   python模塊:如pymysql

  二、數據庫管理軟件分類

分兩大類:   關係型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql語句通用   非關係型:mongodb,redis,memcache 能夠簡單的理解爲: 關係型數據庫須要有表結構 非關係型數據庫是key-value存儲的,沒有表結構

  三、下載和安裝

    3.1 Linux下載和安裝

#二進制rpm包安裝 yum -y install mysql-server mysql

    3.2 Windows下載和安裝

#一、下載:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #二、解壓 若是想要讓MySQL安裝在指定目錄,那麼就將解壓後的文件夾移動到指定目錄,如:C:\mysql-5.7.16-winx64 #三、添加環境變量 【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】 #四、初始化 mysqld --initialize-insecure #五、啓動MySQL服務 mysqld # 啓動MySQL服務 #六、啓動MySQL客戶端並鏈接MySQL服務 mysql -u root -p # 鏈接MySQL服務器

    問題尚未完全解決,由於在執行【mysqd】啓動MySQL服務器時,當前終端會被hang住,那麼作一下設置便可解決此問題,即將MySQL服務製做成windows服務。

注意:--install前,必須用mysql啓動命令的絕對路徑 # 製做MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove 註冊成服務以後,之後再啓動和關閉MySQL服務時,僅需執行以下命令: # 啓動MySQL服務 net start mysql # 關閉MySQL服務 net stop mysql

  四、MySQL的啓動與查看

    4.1 Linux平臺下查看

# systemctl start mariadb #啓動 # systemctl enable mariadb #設置開機自啓動 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 #查看進程,mysqld_safe爲啓動mysql的腳本文件,內部調用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 #權限不對,啓動不成功,注意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 以後,登錄之後,無論運行任何命令,老是提示這個 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平臺到服務中查看便可  

初始狀態下,管理員root,密碼爲空,默認只容許從本機登陸localhost 設置密碼 [root@cc ~]# mysqladmin -uroot password "123" 設置初始密碼 因爲原密碼爲空,所以-p能夠不用 [root@cc ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密碼,由於已經有密碼了,因此必須輸入原密碼才能設置新密碼  命令格式: [root@cc ~]# mysql -h172.31.0.2 -uroot -p456 [root@cc ~]# mysql -uroot -p [root@cc ~]# mysql 以root用戶登陸本機,密碼爲空

  五、破解密碼

    5.1 linux平臺下,破解密碼的兩種方式

    方法一:刪除受權庫mysql,從新初始化

[root@cc ~]# rm -rf /var/lib/mysql/mysql #全部受權信息所有丟失!!! [root@cc ~]# systemctl restart mariadb [root@cc ~]# mysql

    方法二:啓動時,跳過受權庫

[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 ~]# #打開/etc/my.cnf去掉skip-grant-table,而後重啓 [root@cc ~]# systemctl restart mariadb [root@cc ~]# mysql -u root -p123 #以新密碼登陸

    5.2 windows平臺下,5.6版本mysql,破解密碼的兩種方式:

    方式一:

#1 關閉mysql #2 在cmd(管理員)中執行:mysqld --skip-grant-tables #3 在cmd中執行:mysql #4 執行以下sql: update mysql.user set password=password("cc233") where user="root" and host="localhost"; flush privileges; #5 查找mysql進程:tasklist |findstr mysql;殺死對應進程:tskill mysqld #或taskkill -f /PID 7832 #6 從新啓動mysql(net start mysql),嘗試使用新密碼登陸

    方式二:

#1. 關閉mysql,能夠用tskill mysqld將其殺死 #2. 在解壓目錄下,新建mysql配置文件my.ini #3. my.ini內容,指定 [mysqld] skip-grant-tables #4.啓動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,而後啓動myqsld,而後就能夠以新密碼登陸了

 

  六、統一字符編碼

  注意:配置文件中的註釋能夠有中文,可是配置項中不能出現中文

  全局配置解析

#在mysql的解壓目錄下,新建my.ini,而後配置 #1. 在執行mysqld命令時,下列配置會生效,即mysql服務啓動時生效 [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時,就會將初始數據存入此處指定的目錄,在初始化以後,啓動mysql時,就會去這個目錄裏找數據 #2. 針對客戶端命令的全局配置,當mysql客戶端命令執行時,下列配置生效 [client] port=3306 default-character-set=utf8 user=root password=123 #3. 只針對mysql這個客戶端的配置,2中的是全局配置,而此處的則是隻針對mysql這個命令的局部配置 [mysql] ;port=3306 ;default-character-set=utf8 user=egon password=4573 #!!!若是沒有[mysql],則用戶在執行mysql命令時的配置以[client]爲準
View Code

  統一字符編碼

#1. 修改配置文件 [mysqld] default-character-set=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8 #mysql5.5以上:修改方式有所改動 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8 #2. 重啓服務 #3. 查看修改結果: \s show variables like '%char%'
相關文章
相關標籤/搜索