您的位置:首页 > 运维架构 > Linux

Centos Mysql安装整理

2014-04-02 10:56 489 查看

一、安装二进制包,相当于windows下的绿色版安装

下载地址:http://dev.mysql.com/downloads/mysql/#downloads 选择 Linux - Generic,



按照你的系统选择32、64版本



http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-linux-glibc2.5-i686.tar.gz
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
以下为网络上搜集的绿色版安装方式步骤。
摘录(http://www.cnblogs.com/gaojian/archive/2013/09/12/3317000.html
1)下载:
在mysql的网站上,下载  mysql-5.6.13-linux-glibc2.5-x86_64.tar.gz
比如拷贝到 /soft/mysql5/ 目录下。
2)解压:
[root@server local]#cd /usr/local
[root@server local]#tar zxvf /soft/mysql5/mysql-5.6.13-linux-glibc2.5-x86_64.tar.gz
3)建立软链接:
[root@server local]#ln -s mysql-5.6.13-linux-glibc2.5-x86_64 mysql
  查看: 
       [root@server local]# ls -lrt mysql
       lrwxrwxrwx 1 root root 36 9月 12 13:22 mysql -> ./mysql-5.6.13-linux-glibc2.5-x86_64
       [root@server local]#
4)建立mysql相关的用户和组:
[root@server local]#groupadd mysql
[root@server local]#useradd -r -g mysql mysql
5)生成数据库:
[root@server local]# cd mysql
[root@server local]# chown -R mysql .
[root@server local]#chgrp -R mysql .
[root@server local]# scripts/mysql_install_db --user=mysql
[root@server local]# chown -R root .
[root@server local]# chown -R mysql data
6)拷贝必要的文件(此为可选步骤):
[root@server local]#cp support-files/mysql.server /etc/init.d/mysql.server
7)启动数据库:
[root@server local]bin/mysqld_safe --user=mysql &
8)访问数据库:
[root@server ~]# mysql --user=mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
mysql> quit
Bye
[root@server ~]#
9)关闭数据库时,发现无法关闭数据库,于是强制关闭进程,然后退出。
10)设置权限:
重新启动数据库(带 --skip-grant-tables参数):
[root@server ~]# mysqld_safe --skip-grant-tables &
[1] 3140
[root@server ~]# 130912 14:49:51 mysqld_safe Logging to '/usr/local/mysql/data/server.gao.err'.
130912 14:49:51 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
设置root用户的口令(被要求Enter password的时候,直接按回车键就过去了):
[root@server ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=password("abcdef") where user='root' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[root@server ~]#
为了验证是否可以正常关闭,再次重新启动来看一下:
[root@server ~]# mysqld_safe --skip-grant-tables
130912 14:57:36 mysqld_safe Logging to '/usr/local/mysql/data/server.gao.err'.
130912 14:57:36 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[root@server ~]#
然后运行:
[root@server ~]# mysqladmin -uroot shutdown
[root@server ~]#
成功关闭。
下一次,完全正常启动,看能否关闭:
[root@server ~]# mysqld_safe
130912 15:01:26 mysqld_safe Logging to '/usr/local/mysql/data/server.gao.err'.
130912 15:01:26 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[root@server ~]# mysqladmin -uroot -p shutdown
Enter password:
[root@server ~]#
关闭成功了。
[作者 高健@博客园  luckyjackgao@gmail.com]
 

二、Mysql的rpm安装

摘录(http://www.cnblogs.com/GeeWu/archive/2011/05/17/linux_mysql_compile.html
1, 下载。
这里下载http://dev.mysql.com/downloads/mirror.php?id=402502



2, 安装。
下载到本地解压:
tar -xvf MySQL-5.5.12-1.rhel5.x86_64.tar
安装以下rpm
rpm -ivh MySQL-devel-5.5.12-1.rhel5.x86_64.rpm
rpm -ivh MySQL-shared-5.5.12-1.rhel5.x86_64.rpm
rpm -ivh MySQL-client-5.5.12-1.rhel5.x86_64.rpm
rpm -ivh MySQL-server-5.5.12-1.rhel5.x86_64.rpm
3, 配置用户和用户组。
groupadd mysql
useradd mysql –g mysql
4, 配置mysql配置。
cd /usr/share/mysql/
cp my-medium.cnf /etc/my.cnf #我这里仅仅用来演示应用程序的。
5, 运行mysql
mysqld_safe &
6, 配置mysql root用户
mysqladmin -uroot password 'password'
7, 设置远程用户
create user 'geewu'@'%' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'geewu'@'%';
Mysql命令行编译
groupadd mysql
useradd -s /bin/false -g mysql -pmysql mysql
#安装mysql到home/work/local/mysql
./configure --prefix=/home/work/local/mysql \
--with-unix-socket-path=/home/work/local/mysql/tmp/mysql.sock \
--with-big-tables --with-plugins=all --with-client-ldflags=all-static --with-mysqld-ldflags=all-static
make; make install
1. -static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
静态链接提高13%性能
2. -pgcc 1%
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
-felide-constructors -fno-exceptions -fno-rtti"
如果是Inter处理器,使用pgcc提高1%性能
3. Unix Socket 7.5%
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
4. --enable-assembler
允许使用汇编模式(优化性能)
cd /home/work/local/mysql
bin/mysql_install_db --user=mysql // 安装默认数据库
cp share/mysql/my-medium.cnf /etc/my.cnf //复制配置文件(可能需要适当修改)
cp share/mysql/mysql.server /etc/init.d/mysqld //复制mysql启动脚本
chmod 755 /etc/init.d/mysqld //更改mysql启动脚本权限,执行权限必须
chkconfig --add mysqld   //添加mysql服务
chkconfig --level 35 mysqld on   //设置服务在运行级3,5启动
service mysqld start   //启动服务
 

三、yum安装(路径都是rpm安装时默认的路径)

摘自(/article/3555106.html
使用yum安装
安装mysql客户端:
yum install mysql
安装mysql 服务器端:
yum install mysql-server
yum install mysql-devel
有点windows下软件安装的感觉,比较简便。
自己习惯了以前服务器数据库存放路径为/data/mysql,套接字/tmp/mysql.sock
通过yum安装,数据库存放路径/var/lib/mysql,终究感觉不是那么习惯。
 

四、选择源码编译安装

摘自(http://www.cnblogs.com/xiongpq/p/3384681.html
====================================================================================
概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。
正文:

一:卸载旧版本

使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql


有的话通过下面的命令来卸载掉

rpm -e mysql   //普通删除模式
rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除


二:安装MySQL

安装编译代码需要的包

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel


下载MySQL 5.6.14

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz tar xvf mysql-5.6.14.tar.gz
cd mysql-5.6.14


编译安装

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci\


-DENABLE_DOWNLOADS=1


make && make install


编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

整个过程需要30分钟左右……漫长的等待

三:配置MySQL

设置权限

使用下面的命令查看是否有mysql用户及用户组

cat /etc/passwd 查看用户列表
cat /etc/group  查看用户组列表


如果没有就创建

groupadd mysql
useradd -g mysql mysql


修改/usr/local/mysql权限

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


修改/usr/local/mysql权限

初始化配置

进入安装路径

cd /usr/local/mysql


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

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的正确配置,造成无法启动。

启动MySQL

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

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start  --启动MySQL


配置用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

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

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

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


关闭文件,运行下面的命令,让配置立即生效

source /etc/profile


现在,我们可以在终端内直接输入mysql进入,mysql的环境了

执行下面的命令修改root密码

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


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

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


红色的password为远程访问时,root用户的密码,可以和本地不同。

配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/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 dport 3306 j ACCEPT


然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart


 


OK,一切配置完毕,你可以访问你的MySQL了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: