《LINUX環(huán)境下MYSQL5.5.X源碼安裝》由會員分享,可在線閱讀,更多相關(guān)《LINUX環(huán)境下MYSQL5.5.X源碼安裝(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!
LINUX環(huán)境下MYSQL5.5.18源碼安裝
Mysql5.5.*以后必須用cmake進行編譯
Cmake 安裝包可以官網(wǎng)下載http://www.cmake.org
一、安裝cmake:
1)解壓cmake:#tar -zvxf cmake-version.tar.gz
2)配置編譯:
進入cmake解壓目錄
# ./bootstrap; make; make install //調(diào)用cmake 編譯腳本bootstrap 并編譯安裝
二、安裝MYSQL
1)解壓mysql-5.5.1
2、8.tar.gz:#tar -zvxf mysql-5.5.18.tar.gz
創(chuàng)建數(shù)據(jù)目錄(mysql5.5默認(rèn)已經(jīng)沒有data目錄了)
mkdir /server/mysql/ -p //建立MYSQL安裝目錄,-p選項是連續(xù)建立不存在
mkdir /server/mysql/data -p //建立MYSQL數(shù)據(jù)目錄,的目錄。
注:一般都將安裝在/usr/local/目錄下,方便管理,可將/server用/usr/local/替換
2)配置編譯
#cd mysql-5.5.18
#cmake .
3、 //這個方法,安裝路徑默認(rèn)
或
#cmake . \
-DCMAKE_INSTALL_PREFIX:PATH=/server/mysql \
-DMYSQL_DATADIR:PATH=/server/mysql/data _install_db --user=mysql --i
(指定了DATA路徑以后需要在初始化數(shù)據(jù)庫的時候加上—datadir參數(shù):
scripts/mysql_install_db --user=mysql –-datadir=/server/mysql/data,否則數(shù)據(jù)庫
無法啟動)
關(guān)于安裝編譯樹,可根據(jù)具體情況進行
4、增加具體需要的編譯選項
進入MYSQL解壓目錄讀取README文檔可查看所有與安裝相關(guān)的選項
cmake . -LAH --查看詳細(xì)編譯選項。
注意一:第2步的安裝過程中可能有問題,例如:CMake Error: The source directory “*” does not appear to contain CMakeLists.txt.Specify –help for usage, or press the help button on the CMake GUI.
是安裝版本錯了,比如在 下載頁面時,我們要選擇的是 MySQL Community Server
5、 下的 Source Code,如圖:
然后在顯示的列表中選擇 “Generic Linux mysql-5.5.x.tar.gz” 那個版本的源碼下載。
注意二:Ubuntu 10.10 下安裝mysql所需工具:cmake, GNU make, gcc, Perl, libncurses5-dev, bison(可選), chkconfig。例如:缺少libncurses5-dev (ncurses-devel)
----若差了這個包,在cmake的時候會報錯。
----Debian/Ubuntu上的包名是libncurses5-dev,RedHat和其他版本對應(yīng)的是n
6、curses-devel
----shell:~$ sudo apt-get install libncurses5-dev
----報錯信息
---------------------------------
-- MySQL 5.5.8
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:82 (MESSAGE):
Curses library not found. Please install app
7、ropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu , package name is libncurses5-dev ,
on RedHat and derivates it is ncurses-devel.注意,在安裝好libncurses5-dev之后,重新cmake之前,要將生成的CMakeCache.txt文件刪除,否則繼續(xù)報錯。
3)、安裝:
#make && make install --編譯并安裝MYSQL
注意:可將以下操作命令編輯成shell腳本一次執(zhí)
8、行完成所有操作。
#groupadd mysql --增加用戶組
#useradd -r -g mysql mysql –增加用戶
#cd /server/mysql –進入MYSQL安裝目錄
#chown -R mysql:mysql . –更改MYSQL目錄下所有文件目錄屬主于MYSQL組
MYSQL用戶
#scripts/mysql_install_db --user=mysql --用mysql用戶初始化數(shù)據(jù)庫(注意前面所講,要加上-datadir=/server/mysql/data選項,否則無法啟動)
#chown -R root . 更改MYSQ
9、L目錄下所有文件目錄屬主于ROOT 用戶
#chown -R mysql data 更改MYSQL目錄下數(shù)據(jù)文件目錄屬主于mysql 用戶
#cp ./support-files/ my-f /etc/f –拷MYSQL的配置文件到/etc下
cp support-files/mysql.server /etc/rc.d/init.d/mysql --拷貝/server/mysql/support-
files /mysql.server 文件到 /etc/rc.d/init.d/目錄下并重名為mysql 這步的作用是把
MYSQL作成服務(wù)
service mysql
10、 start 啟用服務(wù)
/server/mysql/bin/mysql –uroot –p 登錄進入MYSQL
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'longmaster' WITH
GRANT OPTION; 增加root用戶,并設(shè)定密碼.
flush privileges; 刷新受權(quán)使用新增root用戶生效
編輯 /etc/f文檔 在[mysqld]段加入 skip-name-resolve -- 跳過主機名字解析。 oservice mysql restart
另一種可參
11、考的后續(xù)配置及問題解決:
----進入mysql安裝目錄下的腳本目錄
shell:~$ cd /usr/local/mysql/scripts
----利用mysql_install_db腳本生成新的MySQL 授權(quán)表
./mysql_install_db --basedir=/usr/local/mysql --datadir=/home/system_username/Programming/mysql/mysqldata
--user=mysql
----進入mysql安裝目錄下的支持文件目錄
shell:~$ cd /usr/local/mysql/suppo
12、rt-files
----復(fù)制mysql配置文件
shell:~$ sudo cp my-f /etc/f
----復(fù)制服務(wù)文件并修改
shell:~$ sudo cp mysql.server mysqld
----修改mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
mv mysqld /etc/init.d/mysqld
----啟動服務(wù)
shell:~$ service mysqld start
----關(guān)閉服務(wù)
shell:~$ service mysqld stop
---
13、------------------------------
service命令:
1. 用于管理Linux系統(tǒng)中服務(wù)的命令
2. 作用是去/etc/init.d目錄下尋找相應(yīng)的服務(wù),進行開啟和關(guān)閉等操作
3. 上述操作后,mysqld服務(wù)文件對應(yīng)mysql.server文件
---------------------------------
----添加服務(wù)到自啟動項
shell:~$ sudo chkconfig --level 3 mysqld on
----設(shè)置軟連接使mysql, mysqldump, mysqladmin這三個命令能在shell中
14、直接運行
shell:~$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
shell:~$ sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin
shell:~$ sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
---------------------------------
=>mysql數(shù)據(jù)庫中文亂碼解決 :
1. 亂碼分析
----從終端shell進入mysql
shell:~$ mysql
....
15、........
............
mysql> show variables like '%character%'
----得到以下數(shù)據(jù)庫編碼信息表:
+----------------------------------- +-------------------------------------------+
| Variable_name | Value |
+------------------------------------+-------------------------------------------+
| character_s
16、et_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
17、
+------------------------------------ +-------------------------------------------+
可以看出character_set_database ,character_set_server 的編碼還是默認(rèn)的latin1。
不知道為什么,之前DEFAULT_CHARSET設(shè)置成為utf8的,好像沒起作用。查看官方文檔
發(fā)現(xiàn),character_set_database不支持配置文件(/etc/f)變量設(shè)置,
但是character_set_server 支持配置文件變量設(shè)置。
2. 解決辦法
18、
----打開配置文件
shell:~$ sudo gedit /etc/f
然后在[mysqld]配置選項下添加
character-set-server = utf8
----然后進入mysql
執(zhí)行:
mysql> show variables like '%character%'
結(jié)果:character_set_database ,character_set_server兩項都變?yōu)閡tf8了
----測試:
往數(shù)據(jù)庫表中插入中文字段,中文就正常顯示了。
注:1.用5.1版本的時候如下方法是可以解決中文編碼問題的
----在配置文件〔m
19、ysqld]和〔client]節(jié)下分別添加: default-character-set = utf8
2.不知到是不是手動編譯的原因,在5.5.8中配置文件中用上述方法會造成數(shù)據(jù)庫服務(wù)無法啟動。
----錯誤日志如下:( datadir/username.err為錯誤日志文件)
----------------------------------------------------
mysqld_safe mysqld from pid file /home/cyberwym/Programming/mysql/mysqldata/cyberwym.pid ended
.
20、..........
...........
[ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default-character-set=utf8'
[ERROR] Aborting
----------------------------------------------------
----這樣會造成pid文件(datadir/username.pid)無法更新
----在配置文件〔mysqld]和〔client]節(jié)下分別去掉: default-character-set = utf8 后,數(shù)據(jù)庫服務(wù)就啟動正常了
5 / 5