LINUX 安装mysql

说明:
操作系统:CentOS 5.9 64位
MySQL版本:mysql-5.6.10(注意是源码安装)
MySQL安装目录:/usr/local/mysql
MySQL数据库存放目录:/usrlocal/data

准备篇:
一、配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器,服务器yum命令可以正常使用
二、配置防火墙,开启3306端口
vi /etc/sysconfig/iptables  #编辑
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  #允许3306端口通过防火墙

特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
添加好之后防火墙规则如下所示:
**********************************************************************************
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
**********************************************************************************
/etc/init.d/iptables restart #最后重启防火墙使配置生效

三、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq!  #保存退出
shutdown -r now #重启系统
四 、系统约定
MySQL安装包存放位置:/usr/local/src 
MySQL编译安装位置:/usr/local/mysql
五、下载软件包
1、下载MySQL
http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz
2、下载cmake(MySQL编译工具)
http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz
下载以上两个软件,并上传到/usr/local/src目录
六、安装编译工具及库文件(使用CentOS yum命令安装,安装的比较多,方便以后编译安装php、nginx等)
yum install make apr* autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel
openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* 
cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel
libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel  libjpeg* libpng* php-common php-gd
gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bison

安装篇
首先先检查系统是否自带有mysql(rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库)
显示:
mysql-libs-5.1.52-1.el6_0.1.i686(代表已经安装了,则需要卸载,否则没有安装mysql)
卸载方法:
yum -y remove mysql-libs-5.1.52-1.el6_0.1.i686 一、安装cmake cd /usr/local/src #进入软件包存放目录 tar zxvf cmake-2.8.10.tar.gz #解压 cd cmake-2.8.10 #进入目录 ./configure #配置(注意,这里需要先安装gcc-C++编译器 yum install gcc-c++) make #编译 make install #安装 二、安装MySQL groupadd mysql #添加mysql组 useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统 mkdir -p /usr/local/data #创建MySQL数据库存放目录 chown -R mysql:mysql /usr/local/data #设置MySQL数据库存放目录权限 mkdir -p /usr/local/mysql #创建MySQL安装目录 cd /usr/local/src #进入软件包存放目录 tar zxvf mysql-5.6.10.tar.gz #解压 cd mysql-5.6.10 #进入目录 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/data -DSYSCONFDIR=/etc #配置(配置更多请查看附加内容) (这里注意下,正式环境会出现这样的异常 缺少ncurses-devel包信息如下: -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cmake:83 (MESSAGE): Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. Call Stack (most recent call first): cmake/readline.cmake:127 (FIND_CURSES) cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT) CMakeLists.txt:268 (MYSQL_CHECK_READLINE) -- Configuring incomplete, errors occurred! 原因:缺少ncurses-devel包,需要先删除CMakeCache.txt(注意这里是mysql解压包中的txt文件),再进行安装 缺少bison包信息如下: Warning: Bison executable not found in PATH -- Configuring done -- Generating done -- Build files have been written to: /usr/local/src/mysql-5.5.27 原因:缺少bison包 为了避免出错,所以先安装ncurses-devel包和bison包 [root@localhost mysql-5.5.27]# yum install ncurses-devel [root@localhost mysql-5.5.27]# yum install bison) make #编译 make install #安装 rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除) cd /usr/local/mysql #进入MySQL安装目录 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/data #生成mysql系统数据库 ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动 chmod 755 /etc/init.d/mysqld #增加执行权限 chkconfig mysqld on #加入开机启动 vi /etc/rc.d/init.d/mysqld #编辑 basedir=/usr/local/mysql #MySQL程序安装路径 datadir=/usr/local/data #MySQl数据库存放目录 service mysqld start #启动 vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行 export PATH=$PATH:/usr/local/mysql/bin 下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql mkdir /var/lib/mysql #创建目录 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接 shutdown -r now #需要重启系统,等待系统重新启动之后继续在终端命令行下面操作 mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码 /usr/local/mysql/bin/mysqladmin -u root -p password "123456" #或者直接修改密码 service mysqld restart #重启 附加---------------------------------------------- ·从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。 -DCMAKE_INSTALL_PREFIX=dir_name --设置mysql安装目录 -DMYSQL_UNIX_ADDR=file_name --设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock的中。 -DDEFAULT_CHARSET=charset_name --设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。 cmake/character_sets.cmake文件包含允许的字符集名称列表。 -DDEFAULT_COLLATION=collation_name--设置服务器的排序规则。 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 存储引擎选项: MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 静态编译一个存储引擎到服务器,使用 -DWITH_engine_STORAGE_ENGINE= 1。 可用的存储引擎值有: ARCHIVE,BLACKHOLE,EXAMPLE,FEDERATED,INNOBASE(InnoDB),PARTITION(partitioning,support),和PERFSCHEMA(Performance,Schema). -DMYSQL_DATADIR=dir_name --设置mysql数据库文件目录 -DMYSQL_TCP_PORT=port_num ---设置mysql服务器监听端口,默认为3306 -DENABLE_DOWNLOADS=bool--是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 设置编译参数 记住cmake 后面接了一个点(.) cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 ------------------------------------------------------------------------------- 若在安装编译期间未设置mysq编码,数据库引擎等配置,可以通过以下方法配置。(MYsql 的配置放在my.cnf文件,这里通过设置编码方式,其它的一样) 1.2:[root@localhost ~]# find /etc/my.cnf ----------得到一个结果 3:如果2的结果是存在这个文件,转到5,否则转到4 4:若不存在这个文件,[root@localhost ~]# find / -iname *.cnf -print(一定要找文件名是 *.cnf的,不然你肯定找不到my.cnf) ------------------------得到如下结果 /usr/share/doc/MySQL-server-5.5.12/my-large.cnf /usr/share/doc/MySQL-server-5.5.12/my-small.cnf /usr/share/doc/MySQL-server-5.5.12/my-medium.cnf /usr/share/doc/MySQL-server-5.5.12/my-huge.cnf(没用的不贴了) 5:从上面的任何一个文件中选一个,复制到etc下,并改名为my.cnf [root@localhost ~]# pc /ust/share/doc/MySQL-server-5.5.12/my-huge.cnf /etc/my.cnf 6:开始修改my.cnf vi /etc/my.cnf -------------显示my.cnf内容 在键盘上按i,然后进入Linux编辑模式,输入字符如下: 在 [client ] 下面加入 default-character-set=utf8   在[ mysqld ] 下面加  character_set_server=utf8   init_connect='SET NAMES utf8'(或者是SET NAMES 'utf8')   在[ mysql ] 下面加入  default-character-set=utf8 注:在[mysqld]下面添加的网上都说添加 default-character-set=utf8,我测试的时候不可以,因为mysqld不识别它,所以我改成 character_set_server=utf8 编辑完毕之后,按esc进入一般模式,然后输入:wq回车。 7:重启mysql service mysqld restart 如果这里出现mysql is not running but lock exists,解决办法是rm /var/lock/subsys/mysql 8;最后,你可以看看mysql的编码方式是否修改成功 show variables like "character%"; +--------------------------+----------------------------+ | 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 | /usr/share/mysql/charsets/ |
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值