轉自http://www.myhack58.com/Article/sort099/sort0102/2011/30199.htm
測試安裝成功,並修改文中的錯誤(粗體的為修改過的,使用的版本為5.5.19):
1,安裝所需要系統庫相關庫文件
yum –y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml*
ncurses-devel libmcrypt* libtool-ltdl-devel*
[備注:由於機器裝有GCC,這步沒有進行]
2,創建mysql安裝目錄
# mkdir -p /usr/local/webserver/mysql/
3,創建數據存放目錄
# mkdir -p /data/mysql/
4,創建用戶和用戶組與賦予數據存放目錄權限
# groupadd mysql
# useradd -g mysql mysql
# chown mysql.mysql -R /data/mysql/
5,安裝cmake(mysql5.5以后是通過cmake來編譯的)
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# tar zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
#.configure
# make && make install
6,下載解壓mysql 5.5.11
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.19.tar.gz
[root@localhost down]# tar zxvf mysql-5.5.19.tar.gz
[root@localhost down]# cd mysql-5.5.19
7,編譯mysql-5.5.19
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0
[出現警告:The variable, 'MYSQL USER', specified manually, was not used during the generation. ,可以忽略]
[root@host mysql-5.5.11]# make
[root@host mysql-5.5.11]# make install
8,復制配置文件
[root@mysql-5.5.11]# cp support-files/my-medium.cnf /etc/my.cnf
[root@mysql-5.5.11]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql-5.5.11]# chmod 755 /etc/init.d/mysqld
9,初始化數據庫
bash scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/data/mysql/
10,啟動mysql服務
[root@localhost mysql-5.5.11]# /etc/init.d/mysqld start
11,啟動完成之后用ps -ef |grep mysql 命令查看是否啟動
12,/usr/local/webserver/mysql/bin/mysql -u root -p
通過命令行登錄管理MySQL服務器 初始密碼為空
13,修改root密碼
mysql>use mysql ;
mysql> update user set password=PASSWORD("123456") where user='root';
mysql> FLUSH PRIVILEGES;
出現的問題:
解決辦法:
在安裝mysql的機器上運行:
1、d:\mysql\bin\>mysql -h localhost -u root //這樣應該可以進入MySQL服務器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //賦予任何主機訪問數據的權限
3、mysql>FLUSH PRIVILEGES //修改生效
4、mysql>EXIT //退出MySQL服務器