安裝環境:Linux服務器CentOS 5.5
安裝版本:mysql-5.5.8.tar.gz
1、安裝 cmake 編譯器。
1)、下載cmake
#cd /usr/local/src
#wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
2)、解壓cmake
#tar -zvxf cmake-2.8.4.tar.gz
3)、配置編譯
#cd cmake-2.8.4
#yum -y install gcc
#yum -y install gcc-c++
#yum -y install ncurses-devel
#./configure
#make
#make install
2、安裝MySQL
1)、下載MySQL。
#cd /usr/local/src
#wget http://sdk.ruiya.com/linux/mysql-5.5.9.tar.gz
2)、添加必要的組和擁有者
#groupadd mysql
#useradd -r -g mysql mysql
3)、解壓MySQL
#tar -zvxf mysql-5.5.9.tar.gz
4)、配置編譯
如果是重裝MySql,請先刪除my.cnf如: rm -rf /etc/my.cnf
#mkdir /usr/local/mysql
#mkdir /usr/local/mysql/data
#cd /usr/local/src/mysql-5.5.9
#cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
參數說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data //數據庫存放目錄
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校驗字符
-DEXTRA_CHARSETS=all //安裝所有擴展字符集
-DENABLED_LOCAL_INFILE=1 //允許從本地導入數據
#make
#make install
注意事項:
重新編譯時,需要清除舊的對象文件和緩存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
4)、設置目錄權限
# cd /usr/local/mysql
# chown -R root:mysql . //把當前目錄中所有文件的所有者所有者設爲root,所屬組爲mysql
# chown -R mysql:mysql data
5)、配置文件
# cp support-files/my-medium.cnf /etc/my.cnf //這個配置僅適合小內存系統(32M - 64M)
打開如下注釋:
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
添加默認字符集:
[client] default-character-set=utf8 // 添加編碼支持
[mysqld]
character_set_server=utf8 // 添加編碼支持
init_connect='SET NAMES utf8'
max_connections = 10000 //根據服務器性能調節
basedir = /usr/local/mysql //設置安裝目錄,這樣在系統啓動時才能正確運行到/etc/rc.d/init.d/mysql start
6)、創建系統數據庫的表
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
7)、設置權限啓動
設置環境變量:
# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加參數爲:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
手動啓動MySQL:
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql & //啓動MySQL,但不能停止
啓動日誌寫在此文件下:/usr/local/mysql/data/localhost.err
關閉MySQL服務
# mysqladmin -u root -p shutdown //這裏MySQL的root用戶還沒有配置密碼,所以爲空值。
通過腳本啓動MySQL: /etc/rc.d/init.d/mysql start
cp /usr/loacl/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
# cd /etc/rc.d/init.d
# chkconfig --add mysql //配置是否自動啓動, chkconfig --del mysql 可刪除
# chmod +x /etc/rc.d/init.d/mysql //添加如執行權限
8)、修改MySQL的root用戶的密碼:
# mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //爲root添加遠程連接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登錄:mysql -u root -p
delete from mysql.user where user=''; ← 刪除匿名用戶
select user,host from mysql.user; ← 查看用戶信息
show variables like "%char%";
+--------------------------+--------------------------+
|
Variable_name | Value |
+--------------------------+--------------------------+
|
character_set_client | latin1 |
|
character_set_connection | latin1 |
|
character_set_database | latin1 |
|
character_set_filesystem | binary |
|
character_set_results | latin1 |
|
character_set_server | latin1 |
|
character_set_system | utf8 |
|
character_sets_dir | D:\MySQL\share\charsets\ |
+--------------------------+--------------------------+
進入mysql命令行後 輸入 set names utf8;
再進入數據庫 use test;
在導入sql腳本 source test.sql;
9)、導出數據庫生成SQL腳本
mysqldump -h 192.168.200.18 -u root -p TestDB > TestDB.sql
<2>、測試mysql守護進程。
#cd /usr/local/mysql/mysql-test ;
#perl mysql-test-run.pl