Mysql DBA 高級運維學習之路-MySQL5.5編譯方式安裝實戰

1.下載mysql安裝包

MySQL從5.3開始使用cmake的安裝方式,本次實戰選用mysql5.5.32

MySQL系列下載地址

http://dev.mysql.com/downloads/mysql/5.5.html#downloads

下載cmake

wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

2.查看系統環境

 [root@mysql ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.7 (Santiago)
[root@mysql ~]# uname -m
x86_64
[root@mysql ~]# uname -r
2.6.32-573.el6.x86_64

3.安裝cmake

 [root@mysql ~]# mkdir -p /home/linzhongniao
[root@mysql ~]# mkdir -p /home/linzhongniao/tools
[root@mysql ~]# cd /home/linzhongniao/tools
[root@mysql tools]# tar -zxf cmake-2.8.8.tar.gz
[root@mysql tools]# cd cmake-2.8.8
[root@mysql cmake-2.8.8]# ./configure

提示:用gmake安裝,用make也可以

Mysql DBA 高級運維學習之路-MySQL5.5編譯方式安裝實戰

 [root@mysql cmake-2.8.8]# gmake
[root@mysql cmake-2.8.8]# gmake install

安裝依賴包

 [root@mysql tools]# yum install ncurses-devel -y

4.開始安裝mysql

4.1 創建用戶和組

 [root@mysql tools]# groupadd mysql
[root@mysql tools]# useradd -g mysql mysql

4.2 解壓編譯mysql安裝

 [root@mysql tools]# tar -zxf mysql-5.5.32.tar.gz
[root@mysql tools]# cd mysql-5.5.32
[root@mysql mysql-5.5.32]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定安裝目錄
-DMYSQL_DATADIR=/usr/local/mysql/data #指定數據存放目錄重要
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock #指定sock路徑
-DDEFAULT_CHARSET=utf8 #指定默認字符集
-DDEFAULT_COLLATION=utf8_general_ci #指定校準字符集編碼
-DEXTRA_CHARSETS=all #安裝所需字符集
-DENABLED_LOCAL_INFILE=ON #啟用加載本地數據
-DWITH_INNOBASE_STORAGE_ENGINE=1 #支持innode引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 #支持federated引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 #支持黑洞存儲引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 #支持安裝數據庫分區
-DWITH_FAST_MUTEXES=1
-DWITH_ZLIB=bundled #zlib壓縮模式
-DENABLED_LOCAL_INFILE=1
-DWITH_READLINE=1
-DWITH_EMBEDDED_SERVER=1

-DWITH_DEBUG=0 #禁用debug,開啟影響性能
[root@mysql mysql-5.5.32]# make && make install
[root@mysql mysql-5.5.32]# ln -s /home/zbf/tools/mysql-5.5.32 /usr/local/mysql/

粘貼下面內容:

 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0

編譯出現下面問題,yum安裝bison重新編譯

 -- Performing Test HAVE_PEERCRED - Success
Warning: Bison executable not found in PATH

特別說明:常規configure編譯方式安裝以及免編譯方式安裝等等的安裝方法,只是上面的過程不同,下面初始化的內容相同相同。

4.3 初始化配置MySQL

4.3.1 查看默認模板配置文件

 [root@mysql mysql-5.5.32]# ll support-files/my*cnf
-rw-r--r--. 1 root root 4723 1月 11 19:03 support-files/my-huge.cnf
-rw-r--r--. 1 root root 19791 1月 11 19:03 support-files/my-innodb-heavy-4G.cnf
-rw-r--r--. 1 root root 4697 1月 11 19:03 support-files/my-large.cnf
-rw-r--r--. 1 root root 4708 1月 11 19:03 support-files/my-medium.cnf
-rw-r--r--. 1 root root 2872 1月 11 19:03 support-files/my-small.cnf

4.3.2 選擇配置文件

配置文件很多我們選一個小的,因為是測試環境

 [root@mysql mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y

4.3.3 配置環境變量

 [root@mysql mysql-5.5.32]# echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
[root@mysql mysql-5.5.32]# tail -1 /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
[root@mysql mysql-5.5.32]# source /etc/profile
[root@mysql mysql-5.5.32]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

注意一定要把/usr/local/mysql/bin放在前邊,因為在以後安裝的系統裡很可能有yum安裝的mysql客戶端。如果不把/usr/local/mysql/bin放在前邊,當我們輸入mysql的時候它會調用系統rpm安裝的mysql命令。

4.3.4 初始化數據文件

已經有了,沒有的話創建一個mysql數據文件目錄

 [root@mysql mysql-5.5.32]# ll /usr/local/mysql/data/
總用量 4
drwxr-xr-x. 2 root root 4096 1月 11 19:17 test

授權mysql用戶訪問mysql的安裝目錄

 [root@mysql mysql-5.5.32]# chown -R mysql.mysql /usr/local/mysql/data/

調整/tmp權限,否則初始化會錯誤

 [root@mysql mysql-5.5.32]# chmod -R 1777 /tmp/

注意:這個初始化和5.1不一樣,在scripts下面

 [root@mysql mysql-5.5.32]# cd /usr/local/mysql/scripts/
[root@mysql/> mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

現在mysql就安裝完成了,安裝完成之後我們一定要來看一下初始化的信息,因為它給我們提示了很多信息。

 Installing MySQL system tables...
######初始化成功的關鍵是有兩個OK,一般有兩個OK就說明初始化成功了,出現警告不用管
OK
Filling help tables...
OK
###這個是啟動腳本,提示了copy啟動腳本啟動mysql
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
#####mysql沒有密碼可以改密碼
/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
/usr/local/mysql//bin/mysqladmin -u root -h mysql password 'new-password'
Alternatively you can run:
/usr/local/mysql//bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
####如果想啟動mysql,可以用下面的方法啟動
You can start the MySQL daemon with:
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe &
###如果想測試可以用這個方法測試
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql//mysql-test ; perl mysql-test-run.pl
###如果想彙報bug可以用這個方法彙報bug
Please report any problems with the /usr/local/mysql//scripts/mysqlbug/>

5. 複製mysql啟動腳本,啟動mysql

 [root@mysql mysql-5.5.32]# cp support-files/mysql.server /etc/
init.d/mysqld

[root@mysql mysql-5.5.32]# chmod +x /etc/init.d/mysqld
[root@mysql mysql-5.5.32]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
[root@mysql ~]# chkconfig mysqld on
[root@mysql ~]# chkconfig --list mysqld
mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

6.簡單優化

6.1 清楚並修改管理員用戶

 mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | mysql |
| root | mysql |
+------+-----------+
6 rows in set (0.01 sec)

mysql> delete from mysql.user where user="";

Query OK, 2 rows affected (0.07 sec)

mysql> delete from mysql.user where host="mysql";

Query OK, 1 row affected (0.00 sec)

mysql> delete from mysql.user where host="::1";

Query OK, 1 row affected (0.00 sec)

6.2 刪除test庫

 mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |

| test |
+--------------------+

4 rows in set (0.01 sec)

mysql> drop database test;

Query OK, 0 rows affected (0.11 sec)

6.3 命令行修改mysql的登錄密碼

修改密碼很簡單前面的初始化提示信息就已經說明了

 [root@mysql ~]# /usr/local/mysql//bin/mysqladmin -u root 
password '123456'
[root@mysql ~]# mysql -uroot -p123456


分享到:


相關文章: