ITPub博客

首页 > 数据库 > MySQL > CentOS 6.5下安装MySQL 5.5

CentOS 6.5下安装MySQL 5.5

原创 MySQL 作者:fiona8953 时间:2014-08-24 23:58:06 1 删除 编辑


安装方式分为rpm和源码编译安装两种,本文是采用mysql源码编译方式,编译器使用Cmake。软件需要mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz,请自行下载。
下载地址:
http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/
http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
其中mysql使用最新的稳定版本,即最新试用版的上一个版本,且非rc或者alpha的版本,Cmake直接用的最新版。

1.上传mysql-5.5.29.tar.gz和cmake-2.8.10.2.tar.gz到/usr/local文件夹下。

2.CentOS安装g++和ncurses-devel

[root@fiona local]# yum install gcc-c++
[root@fiona local]# yum install ncurses-devel

3.cmake的安装

[root@fiona local]# nohup wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz &

[root@fiona src]# tar -zxv -f cmake-2.8.10.2.tar.gz

[root@fiona src]# cd cmake-2.8.10.2
[root@fiona cmake-2.8.10.2]# ./configure
[root@fiona cmake-2.8.10.2]# make
[root@fiona cmake-2.8.10.2]# make install

4.将cmake永久加入系统环境变量

用vi在文件/etc/profile文件中增加变量,使其永久有效,
[root@fiona cmake-2.8.10.2]# vi /etc/profile

在文件末尾追加以下两行代码:
PATH=/usr/local/cmake-2.8.10.2/bin:$PATH
export PATH

执行以下代码使刚才的修改生效:
[root@fiona cmake-2.8.10.2]# source /etc/profile

用 export 命令查看PATH值

[root@fiona cmake-2.8.10.2]# echo $PATH

5.创建mysql的安装目录及数据库存放目录

[root@fiona local]# mkdir -p /usr/local/mysql //安装mysql
[root@fiona local]# mkdir -p /usr/local/mysql/data //存放数据库

6.创建mysql用户及用户组

[root@fiona local] groupadd mysql
[root@fiona local]useradd -r -g mysql mysql

7.编译安装mysql 

[root@fiona src]# nohup wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.39.tar.gz &   //mysql-5.5.39此版本已无 

[root@fiona src]# tar zxvf mysql-5.5.39.tar.gz //解压
[root@fiona src]# cd mysql-5.5.29
[root@fiona mysql-5.5.39]#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
[root@fiona mysql-5.5.39]# make
[root@fiona mysql-5.5.39]# make install

8.检验是否安装成功

[root@fiona mysql-5.5.39]# cd  /usr/local/mysql

[root@fiona mysql]# ls

bin      data  include         lib  mysql-test  scripts  sql-bench

COPYING  docs  INSTALL-BINARY  man  README      share    support-files
有bin等以上文件的话,恭喜你已经成功安装了mysql。

配置mysql

9.设置mysql目录权限

[root@fiona mysql]# cd /usr/local/mysql //把当前目录中所有文件的所有者设为root,所属组为mysql
[root@fiona mysql]# chown -R root:mysql .

[root@fiona mysql]# chown -R mysql:mysql data

10.将mysql的启动服务添加到系统服务中

[root@fiona mysql]# cp support-files/my-medium.cnf /etc/my.cnf

cp:是否覆盖"/etc/my.cnf"? y

11.创建系统数据库的表

[root@fiona mysql]# cd /usr/local/mysql

[root@fiona mysql]# scripts/mysql_install_db --user=mysql

12.设置环境变量

[root@fiona mysql]# vi /root/.bash_profile
在修改PATH=$PATH:$HOME/bin为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
[root@fiona mysql]# source /root/.bash_profile //使刚才的修改生效

13.手动启动mysql

[root@fiona mysql]# ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止
mysqladmin -u root -p shutdown //此时root还没密码,所以为空值,提示输入密码时,直接回车即可。

14.将mysql的启动服务添加到系统服务中

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

15.启动mysql

[root@fiona mysql]# service mysql start
Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

启动失败:
我这里是权限问题,先改变权限
[root@fiona mysql]# chown -R mysql:mysql /usr/local/mysql

接着启动服务器
[root@fiona mysql]# /etc/init.d/mysql start
Note:
MySQL启动方式

1)直接调用mysqld。这是最不常见的方式,不推荐使用。
2)运行mysql.server脚本
mysql.server脚本通过调用mysqld_safe启动服务器,该脚本可以通过参数start和stop指定启动还是关闭。
mysql.server脚本在MySQL安装目录下的share/mysql目录中,如果是采用源码安装的MySQL,则可以在support-files目录里找到。如果想使用mysql.server,则必须把它复制到合适的运行级别目录中,如下所示:
cp mysql.server /etc/init.d/mysqld  
chmod 755 /etc/init.d/mysqld  
如上配置之后,就可以利用以下命令启动和关闭MySQL实例了:
service mysqld start/stop  
/etc/init.d/mysqld start/stop  
使用chkconfig命令配置开机自动启动:
[sql] 
chkconfig --add mysqld  
chkconfig mysqld on  
运行以下命令检查是否正确启用:
[plain] 
[root@data data]# chkconfig --list mysqld  
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off   MySQL关闭方式
mysqladmin -p -u root shutdown  
启动后,后台运行的进程
root      2294     1  0 03:53 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/fiona.pid
mysql     2595  2294  0 03:53 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/fiona.err --pid-file=/usr/local/mysql/data/fiona.pid --socket=/usr/local/mysql/mysql.sock --port=3306

16.修改MySQL的root用户的密码以及打开远程连接

[root@localhost mysql]# mysql -u root mysql

mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力
mysql> update user set Password = password('abc123') where User='root'; //设置root用户密码
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges;
mysql> exit

17.重新登录

[root@localhost mysql]# mysql -u root -p
Enter password:abc123

若还不能进行远程连接,关闭防火墙
[root@localhost]# /etc/rc.d/init.d/iptables stop

 
18.配置Innodb
[root@fiona plugin]# cd /etc
[root@fiona etc]# vi my.cnf
# To take best advantage of current InnoDB features
innodb_file_per_table=1
innodb_file_format=barracuda
innodb_strict_mode=1

//官方推荐

19.数据库的关闭
[root@fiona mysql]# /usr/local/mysql/support-files/mysql.server stop
Shutting down MySQL. SUCCESS! 

启动Mysql时报错:
140907 14:04:09 mysqld_safe Logging to '/usr/local/mysql/data/fiona.err'.
140907 14:04:09 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
140907 14:04:11 mysqld_safe mysqld from pid file /usr/local/mysql/data/fiona.pid ended
由于登陆使用了如下命令:
shell> ./bin/mysqld_safe --user=root &
导致再次登陆时候使用
shell> ./bin/mysqld_safe --user=mysql &
解决方法:初始化mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql

1、#service mysqld start
       提示:mysqld未被识别的服务
       原因:没有安装mysql-server
       解决方法:安装mysql-server
               yum安装:#yum -y install mysql-server
       安装mysql所需rpm软件包:
                 mysql-5.1.61-1.el6_2.1.i686.rpm
                 mysql-server-5.1.61-1.el6_2.1.i686.rpm
                 mysql-libs-5.1.61-1.el6_2.1.i686.rpm

2、#mysql -u root -p passwd
     提示:ERROR 2002 (HY000):Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
     原因:没有开启mysqld服务
     解决方案:切换到root,启用mysqld服务
                命令:#service mysqld start

3、查看mysql安装路径
     命令:#whereis mysql

4、查看mysqld服务是否已添加到linux
     命令:#chkconfig --list mysqld
     已添加提示:mysql           0:关闭   1:关闭   2:关闭   3:关闭   4:关闭    5:启用   6:关闭

5、mysqld服务启用时,查看服务器是否在运行
     命令:ps -ef | grep mysqld


Reference:
http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html
http://www.cnblogs.com/zhoulf/archive/2013/01/25/zhoulf.html

mysql启动的四种方式(推荐mysql_safe)
http://blog.chinaunix.net/uid-13642598-id-3153537.html
mysql DBA:mysqladmin常用命令总结
http://www.jb51.net/article/48169.htm#
http://www.linuxidc.com/Linux/2011-03/33362.htm

mysql之编译安装mysql以及mysql mysqladmin工具的使用说明
http://www.it165.net/database/html/201404/5890.html
mysql的监听端口是 3306
[root@fiona2 bin]# ss -tnl
State      Recv-Q Send-Q                        Local Address:Port                          Peer Address:Port 
LISTEN     0      128                                       *:37677                                    *:*     
LISTEN     0      128                                      :::111                                     :::*     
LISTEN     0      128                                       *:111                                      *:*     
LISTEN     0      128                                      :::22                                      :::*     
LISTEN     0      128                                       *:22                                       *:*     
LISTEN     0      128                               127.0.0.1:631                                      *:*     
LISTEN     0      128                                     ::1:631                                     :::*     
LISTEN     0      128                                      :::19419                                   :::*     
LISTEN     0      50                                        *:3306                                     *:*     

[root@fiona2 bin]# mysqladmin -uroot -p processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 7  | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

===================================================
[root@fiona home]# su - mysql
su: 警告:无法切换到目录/home/mysql: 没有那个文件或目录

# cp -rfv /etc/skel/.* /home/mysql
# chown -Rv mysql.mysql /home/mysql

解决bash: mysql: command not found 的方法
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

# ln -s /usr/local/mysql/bin/mysql  /usr/bin


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26477398/viewspace-1257008/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 安装Hadoop
请登录后发表评论 登录
全部评论

注册时间:2014-06-13

  • 博文量
    284
  • 访问量
    222491