Mysql 運維管理-Mysql數據庫的多種安裝方法
MySQL數據庫的安裝
1 yum/rpm方式安裝
註意:yum/rpm方式安裝MySQL適合所有MySQL軟件產品系列。
(1)rpm包方式安裝mysql
我們必須安裝Mysql-server和Mysql.client包,rpm安裝很簡單這裏就不說了。
(2)yum方式安裝mysql
yum 安裝的方式很簡單,只要執行yum install mysql-server –y即可。
大的門戶把源碼根據企業的需求制作成rpm,搭建yum倉庫,yum install xxx -y。
2 如何正確的選擇MySQL的安裝方式
二進制免安裝比較簡單方便,適合5.0-5.1和5.5-5.6系列,是很多專業DBA的選擇,普通linux的運維人員多采用編譯的方式,5.0-5.1系列就是常規編譯方式,5.5-5.6以上系列就是cmake編譯的方式。所以mysql5.5及以上的版本,安裝方式機器數量少的話,推薦cmake編譯方式,這是大多數運維人員的選擇。數量多的話就用二進制免安裝。也是沒問題
3 采用二進制方式免編譯安裝MySQL。
采用二進制方式免編譯安裝mysql,這種方法和yum/rpm包安裝方式類似,適合各類MySQL產品系列,不需要復雜的編譯設置及編譯時間等待,直接解壓下載的軟件包,初始化即可完成mysql的安裝啟動。
4 采用cmake方式編譯安裝MySQL
由於MySQL5.5.XX-5.6.XX產品系列的特殊性,所以編譯方式也和早起的產品安裝方式不同,早用cmake或gmake方式編譯安裝。
源碼cmake方式編譯安裝MySQL5.5.32
4.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
4.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
4.3 安裝cmake
[root@mysql ~]# mkdir -p /home/zbf [root@mysql ~]# mkdir -p /home/zbf/tools [root@mysql ~]# cd /home/zbf/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也可以
[root@mysql cmake-2.8.8]# gmake
[root@mysql cmake-2.8.8]# gmake install
安裝依賴包
[root@mysql tools]# yum install ncurses-devel -y
4.5 開始安裝mysql
4.5.1 創建用戶和組
[root@mysql tools]# groupadd mysql
[root@mysql tools]# useradd -g mysql mysql
4.5.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/
特別說明:常規configure編譯方式安裝以及免編譯方式安裝等等的安裝方法,都是上面的過程不同,下面相同。
4.5.3 初始化配置MySQL
4.5.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.5.3.2 選擇配置文件
配置文件很多我們選一個小的,因為是測試環境
[root@mysql mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y
4.5.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安裝的客戶端。如果不把/usr/local/
mysql/bin放在前邊當我們輸入mysql的時候它會調用系統rpm的mysql命令。這裏有一個配置環境變量的例子,下面例子來自老男孩
老師的博客。大家可以看一看 http://blog.51cto.com/oldboy/1122867。
4.5.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 scripts]# ./mysql_install_db --basedir=/usr/local/
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 script!
4.5.3.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:關閉
4.6 簡單優化
4.6.1 清楚並修改管理員用戶
ysql> 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)
4.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)
4.6.3 退出mysql ,為mysql修改密碼
修改密碼很簡單前面的初始化信息已經說明了
[root@mysql ~]# /usr/local/mysql//bin/mysqladmin -u root
password ‘123456‘
[root@mysql ~]# mysql -uroot -p123456
Mysql 運維管理-Mysql數據庫的多種安裝方法