CentOS5.6下使用cmake編譯MySQL
一、準備環境
1、 安裝確保以下系統相關庫文件
gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool*(libtool-ltdl-devel*)
# yum –y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool*
2、 建立mysql安裝目錄及數據存放目錄
# mkdir /usr/local/mysql
# mkdir /var/mysqldata
3、 創建用戶和用戶組
# groupadd mysql
# useradd -g mysql mysql
4、 賦予數據存放目錄權限
# chown mysql.mysql –R /var/mysqldata/
5、 安裝cmake
mysql5.5以後是通過cmake來編譯的
通過以下路徑下載cmake-
# wget http://www.cmake.org/files/v2.8/cmake-
# tar zxvf cmake-
# cd cmake-
# ./configure
# make && make install
二、安裝MySQL
1、 獲取解壓mysql-
通過以下路徑下載mysql-
# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-
# tar zxvf mysql-
# cd mysql-
2、 編譯mysql-
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/mysqldata/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysqldata \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
# make
# make install
3、 複製配置文件
# cp support-files/my-medium.cnf /etc/my.cnf
4、 初始化數據庫
執行前需賦給scripts/mysql_install_db文件執行權限
# chmod 755 scripts/mysql_install_db
# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ \
--datadir=/var/mysqldata/
注:basedir:mysql安裝路徑 datadir:數據庫文件儲存路徑
5、 設置mysqld的開機啓動
# cp support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql
# chkconfig mysql on
6、 爲MySQL配置環境變量
將mysql的bin目錄加到PATH中,有利於以後管理和維護,在/etc/profile中加入myslq/bin,同時增加兩個別名方便操作:
# export PATH=/usr/local/mysql/bin:$PATH
# alias mysql_start="mysqld_safe &"
# alias mysql_stop="mysqladmin –u root -p shutdown"
7、 啓動mysql服務
# /etc/init.d/mysql start
啓動完成之後用ps -ef |grep mysql 命令查看是否啓動
8、 登陸mysql
# mysql -u root –p
三、MySQL標準設置
1、 爲root帳戶設置初始密碼
# /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
或者限制只能通過本機登陸
# /usr/local/mysql/bin/mysqladmin -u root -h ‘hostname’ password 'new-password'
2、 刪除本機匿名連接的空密碼帳號
本機登錄mysql
mysql>use mysql; //選擇默認數據庫mysql
mysql>update user set password=’root
mysql>delete from user where password="";//不允許root密碼爲空
mysql>flush privileges;
mysql>quit
容許root用戶是遠程登錄
對於root賬號,如果考慮安全應該新建其他賬號用於遠程登錄,root賬號可以不必開啓遠程登錄。不過對於一般使用,沒有太多安全需求,允許root用戶遠程登錄可以方便管理,畢竟使用專用管理軟件的圖形界面在操作方面要方便的多。
3、 設置MySQL遠程連接
1) mysql 數據庫端設置
# /mysql -u root -p //進入數據庫
mysql>use mysql
mysql>select user,password,host from user;
mysql>update user set host = '192.168.%' where user = '127.0.0.1';
mysql>grant all privileges on *.* to root@'%' identified by "root123";//給以root@ip登錄的遠程連接賦予權限,能夠連接數據庫。遠程無法連接的常見問題原因。並把遠程登錄用戶的密碼設置爲root
mysql> flush privileges;
mysql>quit
2) Windows下MySQL客戶端
MySQL官方GUI客戶端:http://www.mysql.com/downloads/workbench/