日期:2014-05-16  浏览次数:20694 次

linux下mysql的安装过程
最近在linux安装了mysql,根据网上收集的资料和个人的操作过程,大概做了个整理,以便以后进行参考回顾。
1、下载mysql-5.1.36.tar.gz,并且解压.
tar -xzvf mysql-5.1.36.tar.gz

2、添加mysql组,新建mysql用户
groupadd mysql
useradd -g mysql mysql

3.进入解压后的目录下,进行编译安装
./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --enable-assembler --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --with-plugins=all

4.make
5.make install
6.安装完成后,mysql的安装目录为prefix中指定的/usr/local/mysql
7.进入安装目录,复制配置文件
cp support-files/my-large.cnf /etc/my.cnf

8.更新/usr/local/mysql文件夹的所有者及用户组
cd /usr/local/mysql/
chown -R mysql .
chgrp -R mysql .

9.配置mysql随服务器启动的服务
cp /home/mysql-5.1.36/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld

10.初始化mysql
bin/mysql_install_db --user=mysql

11.启动mysql服务
方法1:service mysqld start

方法2:/usr/local/mysql/bin/mysqld_safe --user=mysql &

12.关闭MySQL服务
/usr/local/mysql/bin/mysqladmin -u root -p  shutdown //关闭MySQL

使用 service 启动:service mysqld stop
使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

13.查看mysql服务端口状态 (3306)
  netstat -atln

14.mysql默认是没有密码的,设置登录mysql的新密码
/usr/local/mysql/bin/mysqladmin -u root -password 'xxx'

15.登录msyql
/usr/local/mysql/bin/mysql -u root -p

16.添加mysql的用户
登录mysql,添加mysql用户
grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";

添加testA,容许localhost登录,密码为"123456"
添加testB,容许远程登录,密码为"123456"
添加testC,容许远程登录,密码为"123456"

GRANT ALL PRIVILEGES ON *.* TO testA@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO testB@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
grant select,update,insert, on *.* to  testC@"%" identified by "123456";

17.测试一下,在windows下使用mysql客户端软件指定IP地址、用户名、密码测试连接到linux下的mysql。
18.完毕。

附:
1. ./configure
--prefix=/usr/local/mysql //MySQL安装目录
--datadir=/mydata //数据库存放目录
--with-charset=utf8 //使用UTF8格式
--with-extra-charsets=complex //安装所有的扩展字符集
--enable-thread-safe-client //启用客户端安全线程
--with-big-tables //启用大表
--with-ssl //使用SSL加密
--with-embedded-server //编译成embedded MySQL library (libmysqld.a),
--enable-local-infile //允许从本地导入数据
--enable-assembler //汇编x86的普通操作符,可以提高性能
--with-plugins=innobase //数据库插件
--with-plugins=partition //分表功能,将一个大表分割成多个小表
2. chkconfig
参数:    --add   新增所指定的系统服务
         --del 删除所指定的系统服务
         --level 指定该系统服务要在哪个执行等级中开启或关闭
         --list   列出当前可从chkconfig指令管理的所有系统服务和等级代号
            on/off/reset   在指定的执行登记,开启/关闭/重置该系统服务

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

3.开机启动mysql的另一种简单方法:
/etc/rc.local里加入/opt/mysql/bin/mysqld_safe --user=mysql &

4.直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它
用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。

5.安装过程中出现的错误及解决办法
5.1启动mysqld服务错误。
报错:Starting MySQL....... ERROR! Manager of pid-file quit without updating file
解决:进入  /usr/local/mysql/var  mysql-bin.index是存放日志文件索引的文件,只删除了日志文件而没有对日志的索引文件做处理显然是不行的。
删除mysql-bin.index文件,再service mysqld start就可以了。
5.2 make 时系统会出现下面错误:
报错:no acceptable c compiler found in path
解决:yum install gcc