Linux安裝MySQL--源碼安裝

第一步:安裝cmake工具:
1.下載cmake工具
tar xvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
2.將cmake工具編譯到指定位置,示例/usr/local/src
./bootstrap --prefix=/usr/local/src
3.編譯>>執行
make
make install

第二步:安裝MySQL
1.下載軟件包mysql-5.0.22.tar.gz,地址http://www.mysql.com,一般不推薦安裝rpm形式的;
2.把下載下來的mysql-5.0.22.tar.gz放在usr目錄下並解壓:
# tar zvxf mysql-5.0.22.tar.gz
3.# cd mysql-5.0.22 //進入解壓縮後的文件目錄;
4. 創建mysql組,如果需要可以再創建一個mysql用戶,並添加到mysql組,也可以將當前用戶添加到mysql組
# /usr/sbin/groupadd mysql //創建mysql組
# /usr/sbin/useradd -g mysql mysql //創建mysql用戶
5.安裝
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_EXTRA_CHARSETS:STRING=utf8 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1
5.編譯:# make //只是一個make就夠了
6.安裝:# makeinstall //這兩步都要一些時間

7.安裝完添加一個mysql用戶組並設置權限:
#chmod +w /usr/local/mysql
#chown -Rroot:mysql /usr/local/mysql //demo以root用戶爲例

8.配置
#cd support-files/

#cp my-large.cnf /var/mysql/my.cnf(如果是debian,my.conf需要放在/etc/mysql/下面)

#cp mysql.server /etc/init.d/mysqld

9.配置啓動MySQL,若有需要請先修改 mysql 的配置 my.cnf

vi /var/mysql/my.cnf(配置如下參數,其他的可更具需要配置)

basedir=/usr/local/mysql \
datadir=/usr/local/mysql/data \
user=root

10.mysql 初始化安裝

# chmod 777 /usr/local/mysql/data
# scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql

11. 將 mysql 加入開機啓動

#chmod +x /etc/init.d/mysqld

#vi /etc/init.d/mysqld (編輯此文件,查找並修改以下變量內容,以下兩個參數若在my.cnf文件中配置了,就可忽略該步驟,否則要加上)
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

12.你可以看看你的服務是否已經添加到linux上
[root@localhost ~]# chkconfig --list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@localhost ~]#
chkconfig --add mysqld
chkconfig --level 345 mysqld on

12. 啓動 mysql

/usr/local/mysql/bin/mysqld_safe &
或者 /etc/init.d/mysql start


13.進入mysql
/usr/local/mysql/bin
./mysql -uroot
在shell環境下用mysqladmin程序來設置密碼
  如 mysqladmin -u root password "your password"


第三步: 配置mysql可遠程訪問

查詢mysql數據庫中的User表:select user, host, password from mysql.user; 

+---------+----------------+---------------------------------------------------------------------------+
| user     |   host           |                                           password                                        |
+---------+----------------+---------------------------------------------------------------------------+
| root      |   localhost   | *4ACFE3202A5FF5CF467898FC58AAB1D615029441  |
| root      |   SUSE         |                                                                                                     |
+---------+----------------+---------------------------------------------------------------------------+

如上結果,設置遠程訪問有兩種方式:

A.直接修改root爲可遠程訪問的用

> use mysql

> update user set host = '%'  from user where host = 'localhost ' and user = 'root'

這樣做的好處是root用已經具有了l數據庫所有權限,所以更新後不用再授權,壞處是通過root用戶來遠程方位不安全。


B.在user表中添加一個用戶(user, host, password這三個字段必須,其他字段不同版本之間有差異,只要是不爲空的就都添加進來,把值給我“”即可)

> insert into user(user, host, password, ssl_cipher, x509_issuer, x509_subject) values('mysql','%', password(123), '', '', '');

成功後查詢數據:

+---------+----------------+---------------------------------------------------------------------------+
| user     |   host           |                                           password                                        |
+---------+----------------+---------------------------------------------------------------------------+
| root      |   localhost   | *4ACFE3202A5FF5CF467898FC58AAB1D615029441  |
| root      |   SUSE         |                                                                                                     |
| mysql  |   %                | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+---------+----------------+---------------------------------------------------------------------------+

授權剛剛添加的用戶

GRANT ALL PRIVILEGES ON database.table TO 'mysql'@'%' WITH GRANT OPTION;


紅色部分可修改爲要授權的數據名稱和表名稱。權限也可以指定某些,示例指定了所有權限。


參考資料:

http://zl342622.blog.163.com/blog/static/1730414220117318759411/

http://tec110505.diandian.com/post/2011-08-23/4225393

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