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