centos6.5 安装mysql5.5

Hashxu 2015-09-02

写道
安装方式分为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,则必须把它复制到合适的运行级别目录中,如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
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关闭方式
1
<span style="white-space:normal;">mysqladmin -p -u root shutdown </span>
1
2
3
启动后,后台运行的进程
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

相关推荐