?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
由于MySQL5.5.xx-5.6.xx產(chǎn)品系列特殊性,所以編譯方式也和早期的產(chǎn)品編譯方式不同,采用cmake(cmake軟件需要另外安裝)或gmake方式安裝編譯.即:
./cmake . make make install
卸載已安裝的MySQL
下載:當(dāng)前mysql版本到了5.5.29
必要軟件包
編譯安裝
添加用戶
編譯安裝
編譯參數(shù)
改變目錄所有者
初始化數(shù)據(jù)庫(kù)
注冊(cè)為服務(wù)
啟動(dòng)MySQL服務(wù)
改變編碼,防止亂碼
將mysql的bin加入到path中
配置用戶密碼和遠(yuǎn)程訪問權(quán)限
# 查看是否有存在的MySQL運(yùn)行進(jìn)程 [root@localhost src]# netstat -tunpl|grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3095/mysqld # 關(guān)閉MySQL服務(wù) [root@localhost src]# service mysqld stop # 查看命令所在路徑 [root@localhost src]# which mysql /usr/bin/mysql # 查看rpm安裝目錄 [root@localhost src]# rpm -qf /usr/bin/mysql mysql-5.0.95-5.el5_9 # 無依賴刪除軟件包 [root@localhost src]# rpm -e mysql-5.0.95-5.el5_9 --nodeps warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake curl freetype libjpeg-turbo libjpeg-turbo-devel openjpeg-libs libpng gd ncurses
3.1 添加用戶
useradd mysql -s /sbin/nologin
3.2 編譯安裝
tar -zxvf mysql-5.5.29.tar.gz && cd mysql-5.5.29 #默認(rèn)情況下是安裝在/usr/local/mysql
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
make && make install
3.3 改變目錄所有者
chown -R mysql.mysql /usr/local/mysql
cd /usr/local/src/mysql-5.5.29/support-files #注冊(cè)服務(wù) cp mysql.server /etc/rc.d/init.d/mysqld #使用默認(rèn)配置文件 cp my-small.cnf /etc/my.cnf #讓chkconfig管理mysql服務(wù) chkconfig --add mysqld # 給mysqld授權(quán)執(zhí)行 chmod a+x /etc/init.d/mysqld #或者使用 setfacl -m u:root:rwx /etc/init.d/mysqld #開機(jī)啟動(dòng) chkconfig mysqld on
cd /usr/local/mysql/scripts ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
service mysqld start
ln -s /usr/local/mysql/bin/mysql /usr/local/sbin/mysql cd ~ #另外,把path添加到當(dāng)前用戶目錄的bashrc中,如果需要全局設(shè)定,請(qǐng)修改`/etc/profile` vi .bashrc #加入以下內(nèi)容 PATH=/usr/local/mysql/bin:$PATH source /etc/profile
/usr/local/mysql/bin/mysqladmin -u root password 'aaaaaa'
SHOW VARIABLES LIKE 'character%'
[client] default-character-set=utf8 [mysqld] character-set-server=utf8 pid-file=/var/lib/mysql/mysqld.pid [mysql] default-character-set=utf8 [mysqld_safe] log-error=/var/lib/mysql/mysql_error.err
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
相關(guān)博文參考:
linux下MySQL 5.6源碼安裝 - 野性的呼喚的日志
*CentOS 6.4下編譯安裝MySQL 5.6.14 - Xiongpq *
linux下MySQL 5.6源碼安裝 - 我的Hello World
[root@localhost.localdomain /etc/init.d] # service mysqld restart /etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 沒有那個(gè)文件或目錄 /etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 沒有那個(gè)文件或目錄 /etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 沒有那個(gè)文件或目錄 /etc/init.d/mysqld: line 44: /usr/bin/my_print_defaults: 沒有那個(gè)文件或目錄 停止 mysqld: [確定] /etc/init.d/mysqld: line 117: /usr/bin/mysqladmin: 沒有那個(gè)文件或目錄 Cannot check for MySQL Daemon startup because of mysqladmin failure. 啟動(dòng) mysqld: [失敗]
問題已經(jīng)找到:原因是安裝的時(shí)候沒有卸載用yum安裝的MySQL數(shù)據(jù)庫(kù)(卸載操作查看0)