MySQL5.5 部署的一個(gè)問題
MySQL部署
目前公司部署MySQL是通過平臺(tái)化操作的,周五的時(shí)候,平臺(tái)暫時(shí)出了點(diǎn)兒?jiǎn)栴},手上有個(gè)需求比較著急,就直接手動(dòng)的部署了一下,由于好長(zhǎng)時(shí)間沒有部署環(huán)境了,竟然有些手生,這里把部署的步驟以及遇到的問題記錄下來,希望對(duì)大家有所幫助。
1、一般情況下,部署有三種常用的方式,第一種是yum的方式,也就是rpm包,第二種是源碼的方式,也就是source code,第三種是二進(jìn)制包,也就是tar.gz格式的包,解壓之后即可,我采用的是第三種方法,部署的MySQL版本是5.5.19版本。
2、首先來看下錯(cuò)誤吧:
啟動(dòng)服務(wù)的語句:/usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld_safe --defaults=/data/mysql_4310/my.cnf & [Note] InnoDB: Waiting for purge to start [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.7.16-10 started; log sequence number 0 [Note] Plugin ’FEDERATED’ is disabled.20190621_11:25:41mysqld: Table ’mysql.plugin’ doesn’t exist [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it. [ERROR] unknown variable ’thread_concurrency=8’ [ERROR] Aborting
可以看到,一共報(bào)了兩個(gè)錯(cuò)誤,第一個(gè)是不能打開mysql.plugin這個(gè)表,第二個(gè)錯(cuò)誤是參數(shù)錯(cuò)誤,這個(gè)參數(shù)thread_concurrency無法識(shí)別。
對(duì)于第二個(gè)問題,可以確認(rèn)是配置文件里面的參數(shù)問題,因?yàn)槲沂褂玫氖浅R?guī)的5.7的配置文件,改了幾個(gè)參數(shù),所以這個(gè)參數(shù)很有可能是漏改了,改掉即可。主要是第一個(gè)問題,這個(gè)時(shí)候,我進(jìn)行了下面的嘗試。
3、解決方式
嘗試1:嘗試重新啟動(dòng)
使用service mysql start的方法:
[root]# service mysql_4310 startStarting MySQL.....The server quit without updating PID fil[FAILED]/mysql_4310/tmp/mysql.pid).
發(fā)現(xiàn)服務(wù)還是無法啟動(dòng),錯(cuò)誤日志的輸出不變。
嘗試2:看到了錯(cuò)誤后面的提示,運(yùn)行mysql_upgrade方法
[root bin]# ./mysql_upgrade --protocol=tcp -P4310 -pEnter password: Looking for ’mysql’ as: ./mysqlLooking for ’mysqlcheck’ as: ./mysqlcheckRunning ’mysqlcheck’ with connection arguments: ’--protocol=tcp’ ’--port=4310’ ./mysqlcheck: Got error: 2003: Can’t connect to MySQL server on ’localhost’ (111) when trying to connect
看來還是不行,這個(gè)時(shí)候我嚴(yán)重懷疑是配置文件的問題:。
嘗試3:從線上環(huán)境中搞來了一個(gè)mysql5.5的配置文件,然后重新替換新的配置文件,重新啟動(dòng):
[root@ mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld_safe --defaults-file=/data/mysql_4310/my.cnf & [1] 63529[root@ mysql_4310]# 190621 11:51:37 mysqld_safe Logging to ’/data/mysql_4310/log/hb30_web_wechat_answers-121_246.err’.190621 11:51:37 mysqld_safe Starting mysqld daemon with databases from /data/mysql_4310/data190621 11:51:40 mysqld_safe mysqld from pid file /data/mysql_4310/tmp/mysql.pid ended
查看錯(cuò)誤日志:
查看錯(cuò)誤日志:[Note] Plugin ’FEDERATED’ is disabled.-5.5.19-linux2.6-x86_64/bin/mysqld: Unknown error 1146[ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.InnoDB: The InnoDB memory heap is disabledInnoDB: Mutexes and rw_locks use GCC atomic builtinsInnoDB: Compressed tables use zlib 1.2.3InnoDB: Using Linux native AIOInnoDB: Initializing buffer pool, size = 4.0GInnoDB: Completed initialization of buffer poolt specified data file /data/mysql_4310/ibdata1 did not exist:tabase to be created! InnoDB: Setting file /data/mysql_4310/ibdata1 size to 1000 MB physically writes the file full: wait... in MB: 100 200 300 400 500 600 700 800 900 1000 InnoDB: Data file /data/mysql_4310/ibdata2 did not exist: new to be created InnoDB: Setting file /data/mysql_4310/ibdata2 size to 100 MB physically writes the file full: wait... in MB: 100og file /data/mysql_4310/innodblog/ib_logfile0 is of different size 0 1073741824 bytescified in the .cnf file 0 134217728 bytes![ERROR] Plugin ’InnoDB’ init function returned error.[ERROR] Plugin ’InnoDB’ registration as a STORAGE ENGINE failed.[ERROR] Aborting
發(fā)現(xiàn)最先面出現(xiàn)了新的錯(cuò)誤,提示Innodb 初始化函數(shù)返回了錯(cuò)誤,無法使用innodb存儲(chǔ)引擎。到這里,我開始懷疑是不是初始化的時(shí)候,就有錯(cuò)誤,導(dǎo)致服務(wù)不可用,于是想著重新初始化一遍數(shù)據(jù)字典,重新起服務(wù),看看行不行。
嘗試4:重新初始化數(shù)據(jù)字典
嘗試使用initialize-insecure方法重新初始化,發(fā)現(xiàn)失敗了。
[root mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --initialize-insecure --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 &[1] 7045[1]+ Exit 2 /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --initialize-insecure --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64
錯(cuò)誤日志還是之前的日志,提示mysql.plugin表不存在,除此之外,還多了一行,如下:
[ERROR] /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld: unknown option ’--initialize-insecure’
于是上官方文檔上面查看了--initialize-insecure參數(shù),發(fā)現(xiàn)這個(gè)參數(shù)在mysql5.5版本沒有,然后5.5版本的是initialize參數(shù),于是換成這個(gè)initialize參數(shù),重新初始化,然后報(bào)錯(cuò)如下:
[root@ ]/usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 --initialize &[1]+ Exit 2 /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64 --initialize
此時(shí),查看官方文檔,發(fā)現(xiàn)MySQL5.5版本的初始化使用的是mysql_install_db命令而不是mysqld命令,而mysql_install_db這個(gè)工具不在/usr/local/mysql-5.5.19-linux2.6-x86_64/bin目錄中,而在/usr/local/mysql-5.5.19-linux2.6-x86_64/scripts目錄下面,于是通過cp命令將其拷貝到指定目錄,然后進(jìn)行初始化,如下:
[root@ mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_install_db --defaults-file=/data/mysql_4310/my.cnf [root@ mysql_4310]# ll | grep install[root@ mysql_4310]# /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_install_db --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linu[1] 16365[root@ mysql_4310]# Installing MySQL system tables...OKFilling help tables...OKTo start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your systemPLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !To do so, start the server, then issue the following commands:/usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqladmin -u root password ’new-password’/usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqladmin -u root -h tk01-devt-mysql-7-200 password ’new-password’Alternatively you can run:/usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default. This isstrongly recommended for production servers.See the manual for more instructions.You can start the MySQL daemon with:cd /usr/local/mysql-5.5.19-linux2.6-x86_64 ; /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysqld_safe &You can test the MySQL daemon with mysql-test-run.plcd /usr/local/mysql-5.5.19-linux2.6-x86_64/mysql-test ; perl mysql-test-run.plPlease report any problems with the /usr/local/mysql-5.5.19-linux2.6-x86_64/scripts/mysqlbug script![1]+ Done /usr/local/mysql-5.5.19-linux2.6-x86_64/bin/mysql_install_db --defaults-file=/data/mysql_4310/my.cnf --datadir=/data/mysql_4310/data --basedir=/usr/local/mysql-5.5.19-linux2.6-x86_64
結(jié)果成功。
總結(jié)如下:
1、MySQL5.5版本的初始化使用mysql_install_db工具,而不是mysqld工具
2、MySQL5.5版本的初始化使用--initialize參數(shù)
以上就是MySQL5.5 部署的一個(gè)問題的詳細(xì)內(nèi)容,更多關(guān)于MySQL 部署的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Oracle學(xué)習(xí)筆記之二----查詢2. 詳解MySQL中的數(shù)據(jù)類型和schema優(yōu)化3. 數(shù)據(jù)庫相關(guān)的幾個(gè)技能:ACCESS轉(zhuǎn)SQL4. mysql的like模式5. Mysql入門系列:對(duì)MYSQL查詢中有疑問的數(shù)據(jù)進(jìn)行編碼6. idea連接sql sever2019圖文教程(超詳細(xì))7. Mysql入門系列:建立MYSQL客戶機(jī)程序的一般過程8. SQL Server 2008創(chuàng)建挖掘模型內(nèi)容查詢9. Microsoft Office Access添加標(biāo)簽控件的方法10. 盤點(diǎn)SqlServer 分頁方式和拉姆達(dá)表達(dá)式分頁
