mysql資料庫部署,MySQL資料庫部署在哪

本文目錄一覽:

超詳細MySQL資料庫優化

資料庫優化一方面是找出系統的瓶頸,提高MySQL資料庫的整體性能,而另一方面需要合理的結構設計和參數調整,以提高用戶的相應速度,同時還要儘可能的節約系統資源,以便讓系統提供更大的負荷.

1. 優化一覽圖

2. 優化

筆者將優化分為了兩大類,軟優化和硬優化,軟優化一般是操作資料庫即可,而硬優化則是操作伺服器硬體及參數設置.

2.1 軟優化

2.1.1 查詢語句優化

1.首先我們可以用EXPLAIN或DESCRIBE(簡寫:DESC)命令分析一條查詢語句的執行信息.

2.例:

顯示:

其中會顯示索引和查詢數據讀取數據條數等信息.

2.1.2 優化子查詢

在MySQL中,盡量使用JOIN來代替子查詢.因為子查詢需要嵌套查詢,嵌套查詢時會建立一張臨時表,臨時表的建立和刪除都會有較大的系統開銷,而連接查詢不會創建臨時表,因此效率比嵌套子查詢高.

2.1.3 使用索引

索引是提高資料庫查詢速度最重要的方法之一,關於索引可以參高筆者MySQL資料庫索引一文,介紹比較詳細,此處記錄使用索引的三大注意事項:

2.1.4 分解表

對於欄位較多的表,如果某些欄位使用頻率較低,此時應當,將其分離出來從而形成新的表,

2.1.5 中間表

對於將大量連接查詢的表可以創建中間表,從而減少在查詢時造成的連接耗時.

2.1.6 增加冗餘欄位

類似於創建中間表,增加冗餘也是為了減少連接查詢.

2.1.7 分析表,,檢查表,優化表

分析表主要是分析表中關鍵字的分布,檢查表主要是檢查表中是否存在錯誤,優化表主要是消除刪除或更新造成的表空間浪費.

1. 分析表: 使用 ANALYZE 關鍵字,如ANALYZE TABLE user;

2. 檢查表: 使用 CHECK關鍵字,如CHECK TABLE user [option]

option 只對MyISAM有效,共五個參數值:

3. 優化表:使用OPTIMIZE關鍵字,如OPTIMIZE [LOCAL|NO_WRITE_TO_BINLOG] TABLE user;

LOCAL|NO_WRITE_TO_BINLOG都是表示不寫入日誌.,優化表只對VARCHAR,BLOB和TEXT有效,通過OPTIMIZE TABLE語句可以消除文件碎片,在執行過程中會加上只讀鎖.

2.2 硬優化

2.2.1 硬體三件套

1.配置多核心和頻率高的cpu,多核心可以執行多個線程.

2.配置大內存,提高內存,即可提高緩存區容量,因此能減少磁碟I/O時間,從而提高響應速度.

3.配置高速磁碟或合理分布磁碟:高速磁碟提高I/O,分布磁碟能提高並行操作的能力.

2.2.2 優化資料庫參數

優化資料庫參數可以提高資源利用率,從而提高MySQL伺服器性能.MySQL服務的配置參數都在my.cnf或my.ini,下面列出性能影響較大的幾個參數.

2.2.3 分庫分表

因為資料庫壓力過大,首先一個問題就是高峰期系統性能可能會降低,因為資料庫負載過高對性能會有影響。另外一個,壓力過大把你的資料庫給搞掛了怎麼辦?所以此時你必須得對系統做分庫分表 + 讀寫分離,也就是把一個庫拆分為多個庫,部署在多個資料庫服務上,這時作為主庫承載寫入請求。然後每個主庫都掛載至少一個從庫,由從庫來承載讀請求。

2.2.4 緩存集群

如果用戶量越來越大,此時你可以不停的加機器,比如說系統層面不停加機器,就可以承載更高的並發請求。然後資料庫層面如果寫入並發越來越高,就擴容加資料庫伺服器,通過分庫分表是可以支持擴容機器的,如果資料庫層面的讀並發越來越高,就擴容加更多的從庫。但是這裡有一個很大的問題:資料庫其實本身不是用來承載高並發請求的,所以通常來說,資料庫單機每秒承載的並發就在幾千的數量級,而且資料庫使用的機器都是比較高配置,比較昂貴的機器,成本很高。如果你就是簡單的不停的加機器,其實是不對的。所以在高並發架構里通常都有緩存這個環節,緩存系統的設計就是為了承載高並發而生。所以單機承載的並發量都在每秒幾萬,甚至每秒數十萬,對高並發的承載能力比資料庫系統要高出一到兩個數量級。所以你完全可以根據系統的業務特性,對那種寫少讀多的請求,引入緩存集群。具體來說,就是在寫資料庫的時候同時寫一份數據到緩存集群里,然後用緩存集群來承載大部分的讀請求。這樣的話,通過緩存集群,就可以用更少的機器資源承載更高的並發。

一個完整而複雜的高並發系統架構中,一定會包含:各種複雜的自研基礎架構系統。各種精妙的架構設計.因此一篇小文頂多具有拋磚引玉的效果,但是資料庫優化的思想差不多就這些了.

Litedb如何部署到伺服器

1.安裝mysql資料庫的ODBC驅動,mysql-connector-odbc-3.51.23-win32.msi(其中*是版本號),下載並安裝。

2.在Mysql中創建資料庫實例。

3.打開控制面板 — 管理工具 — 數據源ODBC,在用戶DSN中添加一個MySQL ODBC 3.51數據源。

4.在登錄login選項卡中輸入數據源名稱Data Source Name,此處輸入MysqlDNS(也可以自己隨便命名,只要在後面導入數據的時候選擇正確的數據源名字就行);然後輸入伺服器Server,用戶User,密碼Password,輸入正確後選擇要導入的資料庫,Database選擇你需要導入的資料庫。在連接選項connect options中根據需要設置MySql使用的埠port和字符集Character Set。註:字符集一定要和Mysql伺服器相對應,如果Mysql使用了gbk字符集,則一定要設置字符集為gbk,否則導入到Sql Server可能會出現問號亂碼。

5.打開sql server企業管理器,選擇該資料庫,單擊右鍵選擇所有任務 — 導出數據。

6.『選擇數據源』為默認,『選擇目的』為剛剛安裝的mySQL數據源,用戶/系統DSN為MysqlDNS。方法2:有多種方法啊。介紹其中一種,使用mysql資料庫的ODBC驅動。步驟:1.安裝mysql資料庫的ODBC驅動,mysql-connector-odbc-3.51.23-win32.msi(其中*是版本號),下載並安裝。2.在Mysql中創建資料庫實例。3.打開控制面板 — 管理工具 — 數據源ODBC,在用戶DSN中添加一個MySQL ODBC 3.51數據源。4.在登錄login選項卡中輸入數據源名稱Data Source Name,此處輸入MysqlDNS(也可以自己隨便命名,只要在後面導入數據的時候選擇正確的數據源名字就行);然後輸入伺服器Server,用戶User,密碼Password,輸入正確後選擇要導入的資料庫,Database選擇你需要導入的資料庫。在連接選項connect options中根據需要設置MySql使用的埠port和字符集Character Set。註:字符集一定要和Mysql伺服器相對應,如果Mysql使用了gbk字符集,則一定要設置字符集為gbk,否則導入到Sql Server可能會出現問號亂碼。5.打開sql server企業管理器,選擇該資料庫,單擊右鍵選擇所有任務 — 導出數據。6.『選擇數據源』為默認,『選擇目的』為剛剛安裝的mySQL數據源,用戶/系統DSN為MysqlDNS。

mySQl資料庫怎麼部署到伺服器

下個mysql 在伺服器上安裝就行了

然後就配置密碼

最後就建庫就行了

linux 怎麼部署mysql資料庫

創建用於執行mysql服務程序的帳號:

[root@linuxprobe cmake-2.8.11.2]# cd ..

[root@linuxprobe src]# useradd mysql -s /sbin/nologin

創建資料庫程序和文件的目錄,並設置目錄的所屬與所組:

[root@linuxprobe src]# mkdir -p /usr/local/mysql/var

[root@linuxprobe src]# chown -Rf mysql:mysql /usr/local/mysql

安裝Mysql服務程序(解壓與編譯過程已省略):

[root@linuxprobe src]# tar xzvf mysql-5.6.19.tar.gz

[root@linuxprobe src]# cd mysql-5.6.19/

[root@linuxprobe mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc

[root@linuxprobe mysql-5.6.19]# make

[root@linuxprobe mysql-5.6.19]# make install

刪除系統默認的配置文件:

[root@linuxprobe mysql-5.6.19]# rm -rf /etc/my.cnf

生成系統資料庫(生成信息已省略):

[root@linuxprobe mysql-5.6.19]# cd /usr/local/mysql

[root@linuxprobe mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/var

創建配置文件的軟連接文件:

[root@linuxprobe mysql]# ln -s my.cnf /etc/my.cnf

將mysqld服務程序添加到開機啟動項:

[root@linuxprobe mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@linuxprobe mysql]# chmod 755 /etc/init.d/mysqld

[root@linuxprobe mysql]# chkconfig mysqld on

編輯啟動項的配置文件:

[root@linuxprobe mysql]# vim /etc/rc.d/init.d/mysqld

//分別修改第46與47行,basedir為程序安裝路徑,datadir為資料庫存放目錄。

basedir=/usr/local/mysql

datadir=/usr/local/mysql/var

重啟mysqld服務程序:

[root@localhost mysql]# service mysqld start

Starting MySQL. SUCCESS!

把mysql服務程序命令目錄添加到環境變數中(永久生效):

[root@linuxprobe mysql]# vim /etc/profile

//在配置文件的最下面追加:

export PATH=$PATH:/usr/local/mysql/bin

[root@linuxprobe mysql]# source /etc/profile

將mysqld服務程序的庫文件鏈接到默認的位置:

[root@linuxprobe mysql]# mkdir /var/lib/mysql

[root@linuxprobe mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

[root@linuxprobe mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

[root@linuxprobe mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

初始化mysqld服務程序:

[root@linuxprobe mysql]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current

password for the root user. If you’ve just installed MySQL, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] y

New password: 輸入要為root用戶設置的資料庫密碼。

Re-enter new password: 重複再輸入一次密碼。

Password updated successfully!

Reloading privilege tables..

… Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y(刪除匿名帳號)

… Success!

Normally, root should only be allowed to connect from ‘localhost’. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y(禁止root用戶從遠程登陸)

… Success!

By default, MySQL comes with a database named ‘test’ that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y(刪除test資料庫並取消對其的訪問許可權)

– Dropping test database…

… Success!

– Removing privileges on test database…

… Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y(刷新授權表,讓初始化後的設定立即生效)

… Success!

All done! If you’ve completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

Cleaning up…

可以百度搜索Linux就該這麼學,第9章 使用Apache服務部署靜態網站,裡面有部署mysql的資料

怎樣在Linux環境下安裝部署MySQL資料庫系統

查找以前是否安裝有mysql,使用下面命令:

rpm -qa|grep -i mysql

如果顯示有如下包則說明已安裝mysql

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

如果已安裝,則需要刪除已安裝的資料庫,使用以下命令來刪除資料庫

刪除命令:rpm -e –nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

刪除老版本mysql的開發頭文件和庫

命令:rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

下載mysql的rpm包

可以通過wget下載具體的地址因為不能用鏈接請大家去官網去找

(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL伺服器;

(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客戶端;

(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql開發依賴包。

下載後放到Liunx伺服器中,如圖所示

如何在linux下安裝mysql資料庫並配置

安裝MySQL Server的rpm包

rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm

安裝過程如圖所示

安裝完成後會生成root用戶的隨機密碼,請使用「cat /root/.mysql_secret」或類似命令進行查看。

如何在linux下安裝mysql資料庫並配置

如何在linux下安裝mysql資料庫並配置

安裝MySQL客戶端

rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm

如何在linux下安裝mysql資料庫並配置

安裝MySQL開發依賴包

rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm

如何在linux下安裝mysql資料庫並配置

啟動msyql

安裝完成後mysql是沒有啟動的,運行mysql命令會提示如下錯誤:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

可使用如下命令啟動MySQL:

service mysql start

或者使用如下命令:

/etc/init.d/mysql start

可使用SET PASSWORD命令修改root用戶的密碼,參考如下:SET PASSWORD = PASSWORD(‘root123456’);

如何在linux下安裝mysql資料庫並配置

如何在linux下安裝mysql資料庫並配置

登錄MySQL

使用mysql命令登錄MySQL伺服器,運行MySQL的命令時,會提示需要設置root用戶密碼

如何在linux下安裝mysql資料庫並配置

設置開機自啟動

/etc/init.d/mysql start

設置完成後重啟系統,使用natstat –nat命令可看到MySQL的3306埠

至此我們已經安裝好了mysql資料庫,當然現在我們的資料庫還不支持遠程連接,遠程連接會出現以下代碼:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通過以下以下來解決

改表法:在本機登入mysql後,更改「mysql」資料庫里的「user」表裡的「host」項,從」localhost」改為’%’。

mysql

mysqluse mysql;

mysqlselect ‘host’ from user where user=’root’;

好了,開始享受mysql帶來的強大功能吧

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200635.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-05 20:02
下一篇 2024-12-05 20:02

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論