1.安装编译源码所需的工具和库

cmake-2.8.8.tar.gz

mysql-5.5.32.tar.gz

yum install gcc gcc-c++ ncurses-devel perl 

2.查看版本信息

[root@Dbsrv01 soft]# more /etc/redhat-release 

CentOS release 6.5 (Final)

[root@Dbsrv01 soft]# uname -a

Linux Dbsrv01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

[root@Dbsrv01 soft]# 

3.安装cmake

./configure

gmake

gmake install

4.创建用户和组

groupadd mysql

useradd  mysql  -s /sbin/nologin -M -g mysql

5.解压mysql-5.5.32.tar.gz

cd /soft/mysql-5.5.32

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_ZLIB=bundled \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DEBUG=0  

make && make install

6.修改/usr/local/mysql权限

chown -R mysql:mysql /usr/local/mysql

7.进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",

在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,

如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。

否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

8.启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

cp support-files/mysql.server /etc/init.d/mysql

chkconfig mysql on

service mysql start  --启动MySQL

9.设置之前,我们需要先设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATH

export PATH

source /etc/profile

10.配置用户

1>用SET PASSWORD命令

mysql -uroot  

mysql> SET PASSWORD = PASSWORD('123456');

若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY '123456' WITH GRANT OPTION;

2>用mysqladmin

mysqladmin -u root password "123456"

如果root已经设置过密码,采用如下方法

mysqladmin -uroot -p123456 password 123 

3>用UPDATE直接编辑user表

mysql -u root

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;

4>忘记密码处理

pkill mysql

mysqld_safe --skip-grant-tables&

mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD("123456") WHERE user='root';

mysql> FLUSH PRIVILEGES;

11.清除多余用户

select Host,User,Password from user;

12.mysql的四种启动方式:

1>mysqld

启动mysql服务器:./mysqld --defaults-file=/etc/my.cnf --user=root

客户端连接:

mysql --defaults-file=/etc/my.cnf

mysql -S /tmp/mysql.sock

2>mysqld_safe

启动mysql服务器:./mysqld_safe --defaults-file=/etc/my.cnf --user=root &

3>mysql.server

cp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/

chkconfig --add mysql.server

启动mysql服务器:service mysql.server {start|stop|restart|reload|force-reload|status}

13.mysql关闭方法

mysqladmin -uroot -p123456 shutdown

service mysql stop

13.配置防火墙

打开/etc/sysconfig/iptables

在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT