1、DBA工做內容:html
初級DBA:mysql
安裝配置、基本使用、基本故障處理linux
中級DBA:c++
體系架構、備份策略設計、故障恢復、基礎高可用的運維(搭建、監控、故障處理、架構演變)、web
基礎優化(索引、執行計劃、慢日誌)redis
高級DBA:sql
高可用架構(設計、實施、運維)、高性能架構(讀寫分離、分庫、分表、分佈式)、mongodb
總體數據庫優化(基於業務的SQL優化)數據庫
2、IT人員應該具有的職業素質json
我的素養
職業技能
什麼是數據?
數據是指對客觀事件進行記錄並能夠鑑別的符號,是對客觀事物的性質、狀態以及相互關係等進行記載的物理符號或這些物理符號的組合。它是可識別的、抽象的符號。
什麼是數據庫管理系統?
更好的去存數據和更好的去管理數據的軟件。
數據庫管理系統種類
關係型數據庫(RDBMS)------>安全
非關係型數據庫(NOSQL)------->性能
數據庫產品介紹
關係型數據庫(RDBMS):Oracle Mysql mssql(SQL Server) PG(postgresql)
都是以二維表(明確的列定義和行信息)組織存儲數據
非關係型數據庫(NOSQL): redis Mongodb memcache ES Hbase neo4j
鍵值存儲、文檔存儲
MySQL版本選擇
5.6 5.7 8.0(不建議使用)
補充:
選擇GA版本6-12個月產品
5.6.34 5.6.36 5.6.38 當前版本已經用了2年了,沒有出現過任何因爲版本問題出現的不穩定狀況,並且升級是有風險的,因此暫時沒有考慮升級。
5.7.18 5.7.20 咱們公司新上的項目使用了5.7.20這個版本中的高可用架構(MGR)。
RDBMS和NOSQL對比:
MYSQL簡介及部署
MySQL安裝方式:
1. rpm、yum安裝 安裝方便、安裝速度快,沒法定製
2. 二進制 不須要安裝,解壓便可使用,不能定製功能
3. 編譯安裝
3.1 可定製,安裝慢
4. 先編譯,而後定製rpm包,製做yum倉庫,而後yum安裝
4.1 簡單,速度快,可定製,比較複雜,製做時間極長
5. 企業中選擇的安裝方式
5.1 中小型企業:以上方式均可以,運維偏向編譯,dba偏向二進制 運維也偏向二進制
5.2 大型企業:能夠選擇: 先編譯而後定製rpm包,製做yum倉庫,而後yum安裝
#cmake #定製功能:存儲引擎、字符集、壓縮 #定製安裝位置、數據存放位置、文件位置(socket) #克隆一個模板機(使用CentOS6),克隆完作快照 #IP 10.0.0.52 主機名db02 #下載5.6.36包 [root@db02 ~]# wget -q https://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz #安裝epel源 [root@db02 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-6.repo #安裝依賴包 [root@db02 ~]# yum install -y ncurses-devel libaio-devel #安裝cmake [root@db02 ~]# yum install -y cmake #建立用戶 [root@db02 ~]# useradd mysql -s /sbin/nologin -M #修改hosts [root@db02 ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.52 db02 #解壓MySQL源碼包 [root@db02 tools]# tar xf mysql-5.6.36.tar.gz #進入MySQL目錄 [root@db02 tools]# cd mysql-5.6.36 #生成 [root@db02 mysql-5.6.36]# #程序存放位置 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \ #數據存放位置 -DMYSQL_DATADIR=/application/mysql-5.6.38/data \ #socket文件存放位置 -DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \ #使用utf8字符集 -DDEFAULT_CHARSET=utf8 \ #校驗規則 -DDEFAULT_COLLATION=utf8_general_ci \ #使用其餘額外的字符集 -DWITH_EXTRA_CHARSETS=all \ #支持的存儲引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #禁用的存儲引擎 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ #啓用zlib庫支持(zib、gzib相關) -DWITH_ZLIB=bundled \ #啓用SSL庫支持(安全套接層) -DWITH_SSL=bundled \ #啓用本地數據導入支持 -DENABLED_LOCAL_INFILE=1 \ #編譯嵌入式服務器支持 -DWITH_EMBEDDED_SERVER=1 \ # mysql5.6支持了google的c++mock框架了,容許下載,不然會安裝報錯。 -DENABLE_DOWNLOADS=1 \ #禁用debug(默認爲禁用) -DWITH_DEBUG=0 #編譯 [root@db02 mysql-5.6.36]# make #安裝 [root@db02 mysql-5.6.36]# make install #作軟連接 [root@db02 mysql-5.6.36]# ln -s /application/mysql-5.6.38/ /application/mysql #拷貝配置文件 [root@db02 mysql-5.6.36]# cp support-files/my*.cnf /etc/my.cnf #拷貝mysql啓動腳本 [root@db02 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld #進入MySQL初始化腳本目錄 [root@db02 mysql-5.6.36]# cd /application/mysql/scripts/ #初始化MySQL [root@db02 mysql-5.6.36]# ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql #受權 [root@db02 mysql-5.6.36]# chown -R mysql.mysql /application/mysql/ #給啓動腳本受權700 [root@db02 mysql-5.6.36]# chmod 700 /etc/init.d/mysqld #systemd管理mysql啓動 [root@db02 mysql-5.6.36]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 #設置開機自啓動C6 [root@db02 mysql-5.6.36]# chkconfig mysqld on #設置開機自啓動C7 [root@db02 mysql-5.6.36]# systemctl enable mysqld #啓動MySQLC6 [root@db02 mysql-5.6.36]# /etc/init.d/mysqld start #啓動MySQLC7 [root@db02 mysql-5.6.36]# systemctl start mysqld #建立tmp目錄(5.6.36版本不會自動建立tmp目錄) [root@db02 mysql-5.6.36]# mkdir /application/mysql-5.6.36/tmp #添加環境變量 [root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile #我的推薦 [root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh [root@db02 ~]# source /etc/profile.d/mysql.sh #設置MySQL密碼 [root@db02 ~]# mysqladmin -uroot password 'oldboy123' #MySQL登錄 [root@db02 ~]# mysql -uuser -ppassword -Ssocket -hhost #MySQL基本操做及基本優化 #查看庫 mysql> show databases; #刪庫 mysql> drop database test; #使用庫 mysql> use mysql #查看錶 mysql> show tables; #查看當前所在庫 mysql> select database(); #查看mysql用戶 mysql> select user,host from user; mysql> select user,host,password from user; #刪除用戶 mysql> select user,host from user; mysql> drop user ''@'db02'; mysql> drop user root@db02; mysql> drop user root@'::1'; mysql> drop user root@'127.0.0.1';
MYSQL體系架構
客戶端與服務器端模型
MySQL服務器組成
MySQL的邏輯結構
MySQL‘庫’的構成
MySQL存儲底層結構(段、區、塊)
1、客戶端與服務器端模型(c/s)
客戶端程序如何鏈接到MYSQL---套接字
2、MySQL服務器組成-----實例
什麼是實例?
mysqld(進程)+master thread + N thread + 內存區域
一個完整的數據庫管理系統 = 實例+數據
mysqld服務器程序構成
一條語句要運行
鏈接層功能
1.tcp/ip或者socket的鏈接方式
2.驗證用戶名密碼
3.鏈接線程:接收SQL語句,返回執行結果
SQL層
1.語法檢查模塊,檢查上層發過來的SQL,進行語法檢查
2.權限檢查模塊,檢測當前登陸的用戶是否有權限操做數據庫對象
3.語義檢查模塊,識別SQL語句種類
4.解析器,解析出SQL語句全部可能的執行方式,這些方式被稱之爲‘’執行計劃‘’
5.優化器,基於執行代價(系統資源的消耗做爲緯度(cpu/內存/IO)).管理員能夠經過間接地方法來干預優化器的選擇
6.執行器,按照優化器選擇的"最優"的執行計劃,執行SQL語句。得出結論:在某磁盤的某位置,發送給存儲引擎層。
7.提供查詢緩存:有侷限性。通常會用redis產品替代
8.記錄查詢日誌
SQL語句分類:管理不一樣的數據庫對象。
DDL:數據定義語言
庫定義:
建立庫定義 create database 庫名 charset utf8;
開發規範:
1.庫名要小寫不能出現大寫
2.庫名不能以數字開頭
3.庫名要和業務功能相關
4.建庫要加字符集
刪除定義 drop database 庫名;
修改定義 alter database 庫名 utf8mb4;
表定義:
建立表 create table 表名 (id
name
age );
create table 表名 (列1 列定義 ,列2 列定義,);
列定義:
1.數據類型:
數字類型
tinyint
int
字符串類型
char
varchar
enum
時間類型
datetime
timestamp
2.列的其餘屬性:
約束 not null(非空) primary key (非空且惟一) unique key(惟一)unsigned(對於數字列的約束,非負數)
特殊定義 auto_increament(自增加 配合主鍵來使用)default(配合not null 來使用) comment(註釋)
區別 primary 多了not null,一張表只能有一個主鍵,會根據主鍵生成彙集索引樹,未來存數據時會按照主鍵的順序在磁盤上組織存儲數據。按照主鍵條件查詢,是順序IO,速度很快。
查看錶列結構信息:
desc 表名;
查詢建表語句:
show create table 表名;
查看庫的信息:
show databases;
查看建表語句:
show create database 庫名;
不use到某個庫,能夠在某個庫下建立表
create table 庫名.表名;
怎麼作一個表結構如出一轍的表?
在表中添加列信息
after 以後
first 在第一
修改列名:
change:既能夠改列名有能夠改屬性。
truncate table 表名;---->把表裏全部內容刪掉。
DCL:數據控制語言
GRANT 受權
REVOKE 回收權限
DML:數據操做語言 ---->操做的是表中的數據行。
insert(增)語法: insert into 表名(列1,列2,列3 ,) values(值,值,值)
update(改)
delete(刪)
僞刪除
使用狀態列,實現僞刪除。
DQL:數據查詢語言
基本語法結構
select(選擇,查詢數據行,獲取想要的數據行)
selete 列 from 表
selete 表.列1,表.列2 from 表
存儲引擎層
1.和''磁盤''打交道的層次
2.根據SQL層執行的結果,去磁盤上找到對應的數據,結構化成表模式,返回給用戶。
MySQL邏輯結構:登陸到mysql內部以後所看到的一切。
庫(database,schema):庫名、庫屬性(大小、權限。。。)
表(table):表名、列(列名字,列屬性)、表屬性、表數據、
庫跟表就是目錄和文件的關係。一個mysql可能有多個庫,一個庫可能有多張表。
MySQL物理結構
數據放到磁盤文件系統 。
庫在磁盤上就是個目錄。
表在磁盤上使用多個文件存儲表的各項信息。
MYSQL基礎管理
---------------------------------
MySQL的連接管理
客戶端工具使用
1.mysql命令:
做用:登陸mysql
-u 用戶名
-p 密碼
例1 mysql -uroot -p
注意不要把密碼寫到命令行!!!
-S 指定socket文件位置
-h 執行連接的地址
-p 指定連接的端口號
-e 免交互執行mysql內部命令
< 導入
--help
2.muysqladmin的簡單使用
關閉數據庫 mysqladmin -uroot -p shutdown
3.mysqldump的簡單使用---->備份用的。
MySQL用戶啓動權限基本管理
用戶的做用是什麼?
Linux 用戶的做用:
1.登陸系統
2.管理操做系統對象(目錄或者文件)
MySQL 用戶的做用:
1.登陸mysql
2.管理mysql的對象(庫和表)
用戶是怎麼定義的(表現方式)?
Linux 用戶表現方式: 用戶名
mysql 用戶表現方式:用戶名@'白名單'
能夠像一個地址同樣--->'user1'@'10.0.0.200' 還能夠這樣'user1'@'10.0.0.% 'user1'@'10.0.0.5%' 'user1'@'10.0.0.0、255.255.255.0' 'user1'@'域名' 'user1'@'%'
用戶管理有哪些?
建立用戶 create user 用戶名@'白名單' identified by '密碼';建立用戶的同時設定一個密碼。
刪除用戶 drop user 用戶名@'白名單';
查詢用戶 select user 用戶名@'白名單';
改密碼 set password for 用戶名@'白名單' = PASSWORD('新密碼');
select user,host,authentication_string form mysql.user;
權限管理
linux 權限做用:
控制用戶對文件可以操做哪些命令。
權限分類:讀、寫、執行。
r
w
X
權限是文件的屬性(權限是做用在文件上的,針對文件去設置權限) chmod 755 /test
grant all on *.* to wordpress@'10.0.0.%' identified by '123'; (受權 wordpress@'10.0.0.%'用戶,可以對*.* 全部庫和表,進行all 全部命令操做,處理grant和revoke。 若是 wordpress@'10.0.0.%'這個用戶不存在會被自動建立,而且將密碼設置爲123)
grant 權限 on 對象 to 用戶
chmod 權限 文件對象 chown 用戶 on 文件對象
mysql的權限分類:
INSERT,SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE,grant,revoke
對象(範圍):
*.* /
wordpress.* /wordpress
wordpress.t1 /wordpress/t1
需求:
1.來一個管理員用戶admin,能經過10.0.0.%這個網段來管理mysql (WITH GRANT OPTION)
mysql>grant all on *.* to admin@'10.0.0.%' identified by '123' with grant optio;
2.開一個應用用戶能經過app,能經過10.0.0.%這個網段對app庫下全部表進行 INSERT,SELECT, UPDATE, DELETE, CREATE, DROP
mysql>grant SELECT,INSERT,UPDATE,DELETE on app.* to app@'10.0.0.%' identified by '123';
3.查看用戶擁有的權限:
mysql>show grants for 用戶;
1.屢次設置權限,權限是相加關係
2。表會繼承上層庫的權限
4.回收權限:
revoke 權限 on *.* from 用戶
MySQL的啓動和關閉
mysql的啓動流程:
關閉
mysqladmin shutdown
service mysqld stop
MySQL數據庫配置文件詳解
SQL應用
MySQL客戶端命令介紹
mysql命令的功能
鏈接數據庫
自帶的客戶端命令功能 (任何客戶端命令都是能夠不加結束符的)
help 查看mysql客戶端命令幫助
use 切換到指定庫
exit 或者 /q 退出
clear
source 運行SQL腳本文件
/G 格式化輸出鍵值對形式的
接收SQL語句,發送給服務端
MySQL獲取幫助的方法
DDL語句之管理數據庫
DDL語句管理表與案例介紹
DML語句值管理表中的數據
SELECT檢索數據
等值查詢
不等值查詢
模糊查詢
與and與or的結合
與in,between的結合
group by + 聚合函數(count(),max(),min (),AVG())
Information_schema獲取元數據
DDL: Data Definition Languages 語句:數據定義語言,這些語句定義了不一樣的數據段、數據庫、表、列、索引等數據庫對象。經常使用的數據關鍵字主要包括create、drop、alter等。
DML: Data Manipulation Language 語句:數據操縱語句,用於添加、刪除、更新和查詢數據庫記錄,並檢查數據完整性。經常使用的語句關鍵字包括 insert、delete、update和select等。
DCL: Data Control Language 語句:數據控制語句,用於控制不一樣數據段直接的許可和訪問級別的語句。這些語句定義了數據庫、表、字段、用戶的訪問權限和安全級別。主要的關鍵字包括grant、revoke等。
索引及執行計劃
MYSQL存儲引擎
MYSQL日誌管理
MYSQL備份與恢復
MYSQL主從複製及架構演變
MYSQL高可用架構
MYSQL高性能架構
MYSQL優化
MYSQL5.7及8.0高可用新特性
三.DBA的職業素養
四.MySQL簡介及安裝
開發環境:開發環境是程序猿們專門用於開發的服務器,配置能夠比較隨意, 爲了開發調試方便,通常打開所有錯誤報告。
測試環境:通常是克隆一份生產環境的配置,一個程序在測試環境工做不正常,那麼確定不能把它發佈到生產機上。
生產環境:是指正式提供對外服務的,通常會關掉錯誤報告,打開錯誤日誌。能夠理解爲包含全部的功能的環境,任何項目所使用的環境都以這個爲基礎,而後根據客戶的個性化需求來作調整或者修改。
三個環境也能夠說是系統開發的三個階段:開發->測試->上線,其中生產環境也就是一般說的真實環境。
代碼怎麼跑到服務器上? 布項目
engins---uwsgi---Python代碼
數據(data)是事實或觀察的結果,是對客觀事物的邏輯概括,是用於表示客觀事物的未經加工的的原始素材。
數據能夠是連續的值,好比聲音、圖像,稱爲模擬數據。也能夠是離散的,如符號、文字,稱爲數字數據。
在計算機系統中,數據以二進制信息單元0,1的形式表示。
數據的定義: 數據是指對客觀事件進行記錄並能夠鑑別的符號,是對客觀事物的性質、狀態以及相互關係等進行記載的物理符號或這些物理符號的組合。它是可識別的、抽象的符號。*
DBMS(database management system)
RDBMS
以多張二維表的方式來存儲,又給多張表創建了必定的關係(關係型數據庫,mysql,)
https://baike.baidu.com/item/二維表/2863955?fr=aladdin
NoSQL
左邊rdbms右邊nosql 不少以json格式進行存儲數據的(mogodb,redis...)
RDMS與NoSQL對比
關係型數據庫(RDBMS)的特色:
非關係型數據庫(NoSQL:Not only SQL)的特色:
NoSQL特性總覽
NoSQL的分類、特色、典型產品
我這裏是在linux虛擬機上二進制安裝法(二進制就是綠色版,解壓開就能夠用。惟一的區別在於二進制數據庫安裝須要初始化!)
把安裝包傳到服務器上:直接拖。 Mac本不支持直接拖,Mac怎麼安裝,有個小技巧:詳見Mac安裝的博客。
傳好了是這個樣子:下一步解壓
源碼安裝的話會很是慢(須要編譯),源碼安裝總共有四個步驟: 解壓---生成---編譯---安裝
解壓的命令: 解壓到root目錄下
tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
解壓完了之後,通常在公司中無論裝什麼軟件都會有規範:全部的軟件都裝在一個目錄下。能夠本身建立也能夠放在系統本身提供的一個目錄(/usr/local/),我們這裏放在/usr/local/目錄下面。而且給它給個名。
移動到/usr/local/mysql-5.6.40/以後,看一下里面大概有一些文件
移動好以後作個軟鏈接:軟鏈接就相似於Windows上面的快捷方式。對於運維來講作一個軟鏈接是一個規範,就是由於快速升級。
ln -s /usr/local/mysql-5.6.40 /usr/local/mysql
而後進到 /usr/local/mysql-5.6.40/ 這個目錄下有一個support-files 而後看一下里面有一些文件
cd /usr/local/mysql-5.6.40/support-files/
my-default.cnf 這個是mysql的配置文件,我們把它拷貝到/etc/my.cnf 中並把它覆蓋掉(由於它自己下面有一個)
mysql.server 這個是mysql的啓動腳本 給他拷貝到 /etc/init.d/mysqld
拷貝完以後作一個初始化: 初始化在scripts目錄裏面,怎麼作初始化,
首先須要建立一個mysql數據庫的用戶
useradd mysql -s /sbin/nologin -M
而後初始化 須要用到mysql_install_db 指定user是mysql,在指定數據庫安裝的路徑在哪,作完軟連接叫mysql就OK了,還有一個要指定數據目錄,數據目錄就是專門存放表啊庫啊這些文件啊之後還有binloge日誌這些的。
須要先裝一個庫 yum install libaio-devel -y
裝完以後初始化:./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 看到兩個OK就是初始化完成了。
作完初始化還要受權:chown -R mysql.mysql /usr/local/mysql*
啓動服務:/etc/init.d/mysqld start
若是mysql不加到環境變量裏它在這裏:
把mysql加到環境變量中去:
vim /etc/profile.d/mysql.sh
export PATH="/usr/local/mysql/bin:$PATH" 這裏注意要用雙引號!
添加好以後:
看系統的環境變量裏都有什麼路徑 以:作分隔符 把命令放在這些路徑裏面均可以直接去執行
如今敲mysql就能夠了:
1)解壓 tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 2)移動到安裝目錄 mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql-5.6.40 3)作軟鏈接 ln -s /usr/local/mysql-5.6.40 /usr/local/mysql 4)拷貝啓動腳本 cp mysql.server /etc/init.d/mysqld 5)進入初始化目錄 cd /usr/local/mysql-5.6.40/scripts 6)建立MySQL用戶 [root@elk01 scripts]# useradd mysql -s /sbin/nologin -M 7)安裝依賴 yum install libaio-devel -y 8)初始化 [root@elk01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 9)受權 [root@elk01 scripts]# chown -R mysql.mysql /usr/local/mysql*
MySQL誤刪除root用戶 -------------------------------------------------------------------------------------
sql語句有哪些?
查用戶 在mysql庫裏面有個user表:
在mysql裏面用戶是怎麼定義的呢? root(用戶名)@'%' host就是主機域說白了就是ip地址
刪用戶
用delete 刪 有個規範 必定要加where,不加where這個表就沒了。
把root用戶表刪了:在生產環境中不要這麼作
退出mysql命令行:
在Linux中 Ctrl+c
不在Linux中 exit 或者quit 快捷鍵是 \q
沒重啓前還能用,重啓後就不行了,由於有緩存
停掉mysql數據庫:
mysql啓動的流程:?
跳過受權表、網絡啓動:mysqld_safe --skip-grant-tables --skip-networking & &表明把這條命令放到後臺運行 ,若是沒加& Ctrl+z 再敲個 bg 均可以 防止任何人都能連
鏈接數據庫
刷新系統受權表
執行受權命令,建立用戶:
重啓mysql
不基於
建立用戶
看錶結構
插入數據
#正確方法建立root用戶
#正確方法建立root用戶 mysql> insert into mysql.user values (‘localhost’,’root’,PASSWORD(‘123’), ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’’, ’’, ’’, ’’,0,0,0,0,’mysql_native_password’,’’,’N’);
1)停庫 [root@elk01 scripts]# /etc/init.d/mysqld stop 2)跳過受權表,網絡 啓動 [root@elk01 scripts]# mysqld_safe --skip-grant-tables --skip-networking & 3)鏈接數據庫 [root@elk01 ~]# mysql 4)刷新系統受權表 mysql> flush privileges; 5)建立用戶 mysql> grant all on *.* to root@'localhost' identified by '123' with grant option; 6)重啓MySQL [root@elk01 ~]# /etc/init.d/mysqld restart
數據庫5.6版本的給初始化後的mysql設置密碼:
建立用戶:
MySQL配置文件及鏈接方式--------------------------------------------------------------
MySQL數據庫兩種鏈接方式:
1.tcp/ip
2.socket
有什麼區別?socket只能在本地鏈接。
tcp、ip
修改配置文件