編譯安裝MySQL5.6.23

一、卸載舊版本

二、下載、編譯、安裝mysql

三、配置mysql

四、其他

 

 

一、卸載舊版本

 

檢查當前主機上是否安裝了mysql

[root@localhost php-5.4.41]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64

rpm -e mysql-libs.x86_64    #刪除
或者
rpm -e --nodeps mysql-libs.x86_64    #強制刪除

二、下載、編譯、安裝mysql

 

1、安裝編譯代碼需要的包

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

2、下載源碼包、解壓後編譯安裝

[root@localhost php-5.4.41]# cd /root/downloads/
[root@localhost downloads]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.23.tar.gz
[root@localhost downloads]# tar -xf mysql-5.6.23.tar.gz
[root@localhost downloads]# cd /mysql-5.6.23

編譯命令

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

 

編譯完成後有提示信息

CMake Warning:
  Manually-specified variables were not used by the project:

    MYSQL_USER
    WITH_MEMORY_STORAGE_ENGINE
    WITH_READLINE
-- Build files have been written to: /root/backup/mysqlsrc/mysql-5.6.23

 

安裝,時間較長

[root@localhost mysql-5.6.23]# make && make install

 

相關選項作用

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝路徑

-DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放位置

-DSYSCONFDIR=/etc \ #my.cnf路徑

-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎

-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎

-DWITH_READLINE=1 \ #快捷鍵功能(我沒用過)

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #連接數據庫socket路徑

-DMYSQL_TCP_PORT=3306 \ #端口

-DENABLED_LOCAL_INFILE=1 \ #允許從本地導入數據

-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支持數據庫分區

-DEXTRA_CHARSETS=all \ #安裝所有的字符集

-DDEFAULT_CHARSET=utf8 \ #默認字符

-DDEFAULT_COLLATION=utf8_general_ci #默認校對規則

utf8_general_ci 不區分大小寫

utf8_general_cs 區分大小寫

 

編譯的參數可以參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

 

三、配置mysql

 

1、設置權限

檢查系統中是否存在mysql用戶和組

grep mysql /etc/passwd
grep mysql /etc/grou

沒有就創建


groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql    #服務進程賬戶,無需登錄系統

修改mysql目錄中文件的權限  
 

chown -R root:mysql /usr/local/mysql/*
chown -R mysql:mysql /usr/local/mysql/data


 

2、初始化配置

進入安裝目錄執行初始化腳本,創建系統自帶數據庫和表

cd /usr/local/mysql/
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

 

3、服務程序配置

(1)、將服務程序路徑添加到PATH環境變量中

新建/etc/profile.d/mysql.sh,添加內容保存退出,source一下

export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh    #讓上述配置立即生效

(2)、將服務腳本複製到/etc/init.d目錄下,並添加到服務列表

cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld 
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# chkconfig --list mysqld
mysql              0:off    1:off    2:on    3:on    4:on    5:on    6:off

(3)、啓動服務

[root@localhost mysql]# service mysqld start
Starting MySQL.... SUCCESS!

 

四、其他

 

完成上面三步,mysql編譯安裝已經完成,可以在該主機使用mysql命令進入mysql了

1、設置密碼,查看mysql用戶,爲了安全,我們可以給默認用戶root

mysql> USE mysql;    #使用mysql數據庫
mysql> SELECT user,host,password FROM user;    #查看mysql用戶
+------+-----------------------+----------+
| user | host                  | password |
+------+-----------------------+----------+
| root | localhost             |          |
| root | localhost.localdomain |          |
| root | 127.0.0.1             |          |
| root | ::1                   |          |
|      | localhost             |          |
|      | localhost.localdomain |          |
+------+-----------------------+----------+

修改密碼方法

1、mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
2、bash命令行下# mysqladmin -uusername password 'password' -p

爲了安全我們可以將以下無密碼項全部加上密碼

mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user,host,password FROM user;
+------+-----------------------+-------------------------------------------+
| user | host                  | password                                  |
+------+-----------------------+-------------------------------------------+
| root | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root | localhost.localdomain |                                           |
| root | 127.0.0.1             |                                           |
| root | ::1                   |                                           |
|      | localhost             |                                           |
|      | localhost.localdomain |                                           |
+------+-----------------------+-------------------------------------------+
6 rows in set (0.00 sec)

 

MySQL提供了一個Perl腳本爲root設置密碼、移除匿名賬戶、是否禁止root從遠程訪問、是否刪除test數據庫、是否重新加載新的數據

[root@test1 ~]# /usr/local/mysql/bin/mysql_secure_installation


2、設置root遠程訪問權限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

此命令的password爲遠程訪問時,root用戶的密碼,可以和本地不同。

 

3、配置防火牆

遠程訪問mysql,需要開啓防火牆的3306端口

編輯/etc/sysconfig/iptables

在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

然後重啓iptables即可。

 

---------------------------------------------------------------------------------------------

操作步驟完全參照了該博客,過程簡單明瞭http://www.cnblogs.com/xiongpq/p/3384681.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章