1.準備
注意:檢查服務器是否已經安裝過mysql,若已安裝可能會導致安裝失敗,卸載方法如下:
比如用yum安裝過mysql-server,用命令# yum remove mysql
刪除。
通過rpm命令查看之前是否安裝過mysql:
# rpm -qa|grep -i mysql
若可以看到有已安裝的包,比如:mysql-4.1.12-3.RHEL4.1。可以通過以下命令來刪除:
# rpm -ev mysql-4.1.12-3.RHEL4.1
同時,查找老版本的mysql目錄,命令:
# find / -name mysql
假設查詢到如下的目錄:
刪除對應的目錄:
# rm -rf /usr/lib64/mysql
# rm -rf /usr/share/mysql
# rm -rf /var/lib/mysql
......
再次用命令:# find / -name mysql
查找,發現均已刪除。
一般卸載後/etc/my.cnf不會被刪除,需要手動刪除:
# rm -f /etc/my.cnf
下面去下載我們想要安裝的mysql:
假定已經從www.mysql.com上下載了mysql安裝包,並放在/home/sw下面。
文件名: mysql-5.5.25a-linux2.6-x86_64.tar.gz
2.解壓縮mysql
假定安裝目錄爲/opt
# cd /opt
# tar zxf /home/sw/mysql-5.5.25a-linux2.6-x86_64.tar.gz
# ln -s ./mysql-5.5.25a-linux2.6-x86_64/ ./mysql
假定數據目錄爲/home/mysql/data
確定數據目錄時,最好通過df -k命令查看數據目錄所在的空間足夠大。
# mkdir -p /home/mysql/data
# mkdir -p /home/mysql/conf
# mkdir -p /home/mysql/logs
3.安裝mysql
# groupadd mysql
# useradd -r -g mysql mysql
# cd /opt/mysql
# chown -R mysql .
# chgrp -R mysql .
# chown -R mysql /home/mysql/*
# chgrp -R mysql /home/mysql/*
# ./scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data
# chown -R root .
4.配置並啓動mysql
如果有現成的my.cnf文件可以借用,可將該文件拷貝到/etc/my.cnf。如果沒有,則可執行下面的命令:
#cp ./support-files/my-medium.cnf /etc/my.cnf
通過vim命令,打開並修改/etc/my.cnf模板文件。
配置文件主要考慮以下內容給的修改:
a. 日誌文件、pid文件、數據文件、socket文件所在的位置;
b. 數據庫大小寫的區分;
c. 中文碼制的設定;
d. 連接數的設定;
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /opt/mysql
plugin-dir = /opt/mysql/lib/plugin
log-error = /home/mysql/logs/mysql.err
pid-file = /home/mysql/conf/mysql.pid
datadir = /home/mysql/data
lower_case_table_names = 1
character-set-server=utf8
max_connections = 10000
更改配置之後,即可啓動數據庫了:
#./bin/mysqld_safe --user=mysql &
啓動之後,可以運行如下命令進入MySQL的命令行模式:
#./bin/mysql -uroot -p
root缺省密碼爲空,回車即可。
進入之後,在mysql命令行模式下,運行
mysql>show databases;
如需更改root密碼,可退出mysql命令行模式,並在/opt/mysql目錄下,運行mysqladmin命令。
mysql>quit
#./bin/mysqladmin -uroot -p password
首先提示輸入root現有密碼(爲空,回車即可),然後提示輸入新密碼,並再次輸入以確認。
(4)創建數據庫,以及用戶
在/opt/mysql目錄下,輸入./bin/mysql -uroot -p
進入mysql命令行模式。然後創建數據庫,並授予用戶權限(同時也創建了該用戶)。
mysql> create database gloa default character set utf8 default collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on gloa.* to gloauser@'%' identified by 'gloa123' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Mysql創建用戶有三種方式:
a. INSERT USER表的方式 b. CREATE USER的方式 c. GRANT的方式
例如,若出現新用戶外部可訪問,本機不可登錄的情況,本地授權:
mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('localhost','username', PASSWORD('password'));
mysql> FLUSH PRIVILEGES;
也可借鑑redmine官方創建mysql庫及用戶的例子:
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
通過如下命令查看碼制的設定是否正確:
mysql> show variables like 'chara%';
+--------------------------+----------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /opt/env/mysql-5.5.25a-linux2.6-x86_64/share/charsets/ |
+--------------------------+----------------------------------------------------+
8 rows in set (0.00 sec)
(5)關閉數據庫
在/opt/mysql目錄下,輸入./bin/mysqladmin -uroot -p shutdown
關閉數據庫,之後運行ps -ef | grep mysql
進行確認。
# ./bin/mysqladmin -uroot -p shutdown
Enter password:
150111 21:32:02 mysqld_safe mysqld from pid file /home/mysql/conf/mysql.pid ended
[1]+ Done ./bin/mysqld_safe --user=mysql
# ps -ef | grep mysql
root 59222 40951 0 21:32 pts/0 00:00:00 grep mysql
#
如需將mysql作爲系統的服務運行,可以執行如下的命令,並對mysql.server進行相應的修改。
#cp support-files/mysql.server /etc/init.d/mysql.server
5.環境變量配置
爲了方便全局使用mysql命令,我們可以將mysql命令目錄追加至環境變量Path中。
1.vi命令打開環境變量配置文件profile
# vi /etc/profile
2.在最後追加:
export MYSQL_HOME=/opt/mysql
export PATH=$PATH:$MYSQL_HOME/bin
Esc :wq退出保存修改。
3.使用source命令使之生效:
# source /etc/profile