第一步:安裝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/