一、卸載舊版本
二、下載、編譯、安裝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