MySQL例項搭建

2022-02-07 10:44:04 字數 3455 閱讀 6501

q:如何判斷乙個linux系統具備安裝mysql的條件?

a:1、linux網路已經配置完成

預設閘道器、

主機名字

/etc/hosts:訪問這個資料庫的應用的ip位址和主機名字也要新增到hosts檔案中,主從伺服器解析也要新增到hosts檔案

/etc/resolv.conf:確認裡面的nameserver能夠使用

2、/var/log/messages日誌檔案

3、配置yum源:local

注意:輕易不要使用網際網路yum,原因是容易出現版本問題

4、刪除舊版本的mysql:

# yum remove mysql*

5、selinux一定要關閉:

# getenforce  //確保是disabled,如果是修改的最好是重啟一下系統。

6、防火牆最好也是關閉:

# iptables -l

7、準備好mysql資料庫軟體和mysql資料檔案所在位置

mysql資料庫檔案所在的位置一定要足夠的空間,且效能要求是最好的。

防火牆對資料庫的影響:

防火牆會對長時間沒有反應的連線給斷開掉,是底層強行斷掉的,所以沒有完整的釋放tcp連線,如果原來是有500連線,因為應用和伺服器的連線斷掉了進行重新連線,500連線再連上來,伺服器就容易夯住。

一、如何安裝mysql

1、tar包的方式,編譯安裝

安裝者自行安裝定義,安裝在哪就是哪兒。

2、rpm的方式,yum安裝:yum localinstall

1、rpm -ql 軟體包的名字  #檢視軟體安裝的位置

軟體目錄:/usr

對於乙個軟體來說:

1>bin(存放一些命令)

2>lib、lib64

3>share(放置類似於軟體的一些模板)

2、rpm -qc 軟體包的名字  #檢視軟體的配置檔案的位置

shell> vim /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/mydata

port=3306

server_id=1

socket=/var/lib/mysql/mysql.sock

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/mydata/mysqld.pid

[client]

socket=/var/lib/mysql/mysql.sock

basedir:mysql軟體安裝目錄

datadir:mysql資料庫目錄

如果是要清理乙個mysql資料庫,然後重新初始化,就要保證該目錄為空rm -rf *,當然這個是很危險的,生產庫輕易別這麼幹。

二、mysql初始化

1、mysqld_safe的方式初始化啟動

# mysqld_safe --help

# mysqld_safe --defaults-file=/etc/my.cnf &

初始化完成以後,資料庫預設是啟動狀態---(rpm安裝)

補充:mysqld --initialize、mysql_install_db初始化方式

2、判斷例項啟動

以下1、2、3一起確認資料庫的啟動

1、netstat -tulnp|grep 3306

2、資料庫啟動了會有乙個mysql.pid檔案

# ll /mydata/mysqld.pid

-rw-r----- 1 mysql mysql 5 apr 21 10:41 /mydata/mysqld.pid

3、資料庫埠開了會有乙個mysql.sock檔案,代表乙個資料庫例項

# ll /var/lib/mysql/mysql.sock

srwxrwxrwx 1 mysql mysql 0 apr 21 10:41 /var/lib/mysql/mysql.sock

注意:如果是使用mysqld_safe的方式啟動mysql服務,通過ps -ef | grep mysql,我們會發現mysql有兩個程序,乙個是mysqld的程序,乙個是mysqld_safe的程序,前者是後者的子程序,是因為mysqld_safe啟動本質是呼叫的mysqld,這是mysql服務啟動的乙個安全保護機制。如果只是用mysqld啟動,那麼os上就只能看見乙個程序。

如果在my.cnf配置檔案裡沒有指定日誌檔案的目錄的話,那麼初始化完了就會在datadir目錄下面生成乙個.err檔案,這個檔案就是mysql的錯誤日誌檔案。

3、初始化完後

1、初始化成功以後,在datadir下面至少會有如下目錄

# ll |grep ^d

drwxr-x--- 2 mysql mysql     4096 apr  9 01:09 mysql

drwxr-x--- 2 mysql mysql     4096 feb 17 21:43 performance_schema

drwxr-x--- 2 mysql mysql    12288 feb 17 21:43 sys

2、如果是初始化失敗的話,也就只有ibdata1、ib_logfile0、ib_logfile1檔案。

三、mysql啟動

1、啟動過程

1、找my.cnf檔案(配置檔案),最好啟動的時候手工指定配置檔案

[root@localhost ~]# mysql --help | grep my.cnf

order of preference, my.cnf, $mysql_tcp_port,

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

順序配置檔案,如果後面的配置檔案尋找成功,則配置檔案內容會覆蓋前面的配置

所以:mysqld_safe --defaults-file=/etc/my.cnf &

2、datadir,找相應的資料庫進行啟動

3、初始化引數指定啟動資源分配

2、排錯分析

1、引數檔案問題

1、cat 引數檔案、找到datadir

2、初步看一下引數檔案中的引數是否異常

3、通過ll引數檔案的最近修改時間

2、切換到datadir下

1、判斷許可權

2、基本檔案及目錄

ibdata、

logfile、

mysql/、

performance_schema/

3、空間是否滿了

3、errorlog

1、關注時間點

2、error內容

3、mysql有乙個地方需要注意

datadir指向了乙個不存在資料庫的位置,同時對這個目錄有mysql許可權,這樣就很容易初始化乙個新的資料庫。

mysql 使用例項 MySQL使用例項

誤刪除了vps上的phpmyadmin,不得已翻閱了半天mysql指南,以下是一些mysql使用例項 連線管理 鏈結資料庫 mysql h localhost u root p 退出資料庫 mysql quit 資料庫管理 檢視資料庫 mysql show databases 建立資料庫 mysql...

mysql 重啟例項 mysql加快重啟例項的速度

有時候由於業務維護視窗比較短的原因,需要快速的重啟mysql例項 1 set global innodb max dirty pages pct 0 2 觀察 root mysql01 mysqladmin ext grep dirty innodb buffer pool pages dirty ...

php和mysql相連例項 mysql例項與連線

滄海一幻覺 mysql的最大連線數max connections預設151,php與其建立的資料庫連線都是真正的tcp連線,在php使用持久連線下執行下列操作可見 sudo netstat antp head n2 sudo netstat antp egrep php fpm mysqld gre...