安裝步驟:
inux平臺(tái)mysql source安裝的安裝及配置步驟
1、 下載MySQL的sourcecode
進(jìn)入mysql download頁(yè)面http://dev.mysql.com/downloads/

點(diǎn)擊進(jìn)入http://dev.mysql.com/downloads/mysql/ 到如下頁(yè)面:

選擇sourcecode下拉列表進(jìn)入到如下頁(yè)面:

點(diǎn)擊 Generic Linux (Architecture Independent), Compressed TAR Archive,進(jìn)入

選擇 » No thanks, just take me to the downloads!
進(jìn)行下載
2、 安裝MySQL
解壓mysql5 的安裝包:
[root@niutian365 local]# tar –zxvf mysql-5.5.16.tar.gz
進(jìn)入解壓后的安裝包
:[root@niutian365 local]# cd mysql-5.5.16
3、 選擇root用戶進(jìn)入,建立mysql用戶組和用戶名:
建立mysql用戶組:groupadd mysql
建立mysql用戶并將mysql用戶加到mysql用戶組中: useradd -g mysql mysql
4、 創(chuàng)建/usr/mysql/mysql和/usr/mysql/data和/usr/mysql/log目錄
mkdir /usr/mysql/mysql
mkdir /usr/mysql/data
cmake 編譯sourcecode
cmake -DCMAKE_INSTALL_PREFIX=/mysql/mysql
-DMYSQL_DATADIR=/mysql/mysql/data
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_UNIX_ADDR=/mysql/mysql/data/mysql.sock
5、 復(fù)制配置文件到/etc下
[root@niutian365 local]#vi /etc/my.cnf
修改
[mysqld]
basedir=/home/mysql/mysql
datadir=/home/mysql/data
socket=/var/lib/mysql/mysql.sock
和
[mysqld_safe]
log-error=/home/mysql/log/mysqld.log
pid-file=/home/mysql/log/mysqld.pid
6、 修改文件的文件主:
chown –R mysql:mysql /home/mysql/log/
chown –R mysql:mysql /var/lib/mysql
運(yùn)行[root@niutian365 local]#./usr/local/mysql/bin/mysql_install_db
在這一步中可能會(huì)發(fā)生錯(cuò)誤,查看錯(cuò)誤原因,如果是由于權(quán)限的問題則需要將父目錄擁有者改成mysql:mysql,使用chown –R mysql:mysql XXX
7、 運(yùn)行mysql
進(jìn)入mysql的bin目錄,運(yùn)行sh mysqld_safe
如果不能正常運(yùn)行,可以查看log目錄下的mysqld.log,查看錯(cuò)誤信息,然后做出相應(yīng)的修改。
8、 將mysql注冊(cè)為服務(wù)
將mysql源代碼目錄的support-files/mysql.server拷貝至/etc/init.d/下,重命名為mysqld
安裝chkconfig: apt-get install chkconfig
運(yùn)行 chkconfig -add mysql注冊(cè)服務(wù)
運(yùn)行 mysql start開啟服務(wù)
運(yùn)行 mysql stop關(guān)閉服務(wù)
修改遠(yuǎn)程登錄mysql權(quán)限,現(xiàn)在提供兩種支持遠(yuǎn)程登錄的方法:
1. 改表法。其中在user表中的host那一列保存的是user允許的用戶登錄的位置信息,通過修改這一列的數(shù)據(jù)來修改mysql的遠(yuǎn)程登錄,使用如下命令進(jìn)入mysql,mysql –u root –p 輸入密碼(默認(rèn)為空)第一次進(jìn)入到數(shù)據(jù)庫(kù)系統(tǒng)。
選擇數(shù)據(jù)庫(kù):mysql> use mysql;
如下圖所示執(zhí)行sql命令:

由上圖可以看到,mysql只允許127.0.0.1和localhost,以及localhost.localdomain的機(jī)器以root身份登錄到mysql數(shù)據(jù)庫(kù)中,下面我們做如下更改:

上面的error是有host是唯一屬性導(dǎo)致的錯(cuò)誤,可以不用理會(huì),現(xiàn)在我們已經(jīng)改好了mysql遠(yuǎn)程登錄的配置,一定要主要通過如下命令是上述做的改動(dòng)生效。
mysql> FLUSH PRIVILEGES;
好了現(xiàn)在可以在其他機(jī)器上進(jìn)行遠(yuǎn)程登錄mysql了。
2. 授權(quán)法。
使用如下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;是root用戶在任意機(jī)器上以111111密碼訪問,上面的執(zhí)行結(jié)果如下:

實(shí)際上,在user表中添加了一行,如上面標(biāo)注部分。如果你想允許用戶myuser從ip為192.168.1.3的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼,執(zhí)行如下語(yǔ)句:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
Mysql修改密碼:
UPDATE user SET password=password('111111') where user='root';
mysql> FLUSH privileges;
如下圖:
![說明: C:\Users\roger\AppData\Roaming\Tencent\Users\455769859\QQ\WinTemp\RichOle\]T~OX)`1~3OC8XFW04KP9DI.jpg](/images/cppblog_com/roger/8.jpg)
請(qǐng)注意,此密碼是經(jīng)過hash后的密碼,不能用原密碼如mysql> update user set password = 111111 where user = 'root' ;這樣是不正確的。
Mysql添加用戶:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'sphinx'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
以上命令是創(chuàng)建sphinx用戶遠(yuǎn)程登錄mysql,密碼是111111。