mysql在linux下的安装


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

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权限

http://www.linuxidc.com/Linux/2013-12/94240.htm

初始化配置

进入安装路径

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

http://www.cnblogs.com/bookwed/p/5896619.html

安装环境:系统是 centos6.5

1、下载

    下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

    下载版本:我这里选择的5.6.33,通用版,linux下64位

    也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2、解压

1
2
3
4
#解压
tar  -zxvf mysql-5.6.33-linux-glibc2.5-x86_64. tar .gz
#复制解压后的mysql目录
cp  -r mysql-5.6.33-linux-glibc2.5-x86_64  /usr/local/mysql

3、添加用户组和用户

1
2
3
4
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd  -g mysql mysql

4、安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
cd  /usr/local/mysql/ <br> mkdir  . /data/mysql
chown  -R mysql:mysql ./
. /scripts/mysql_install_db  --user=mysql --datadir= /usr/local/mysql/data/mysql
cp  support-files /mysql .server  /etc/init .d /mysqld
chmod  755  /etc/init .d /mysqld
cp  support-files /my-default .cnf  /etc/my .cnf
 
#修改启动脚本
vi  /etc/init .d /mysqld
 
#修改项:
basedir= /usr/local/mysql/
datadir= /usr/local/mysql/data/mysql
 
#启动服务
service mysqld start
 
#测试连接
. /mysql/bin/mysql  -uroot
 
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export  PATH=$PATH: /usr/local/mysql//bin <br> source  /etc/profile
 
 
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status

5、错误

  5.1 sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题

    解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。

use mysql;
select 'host' from user where user='root'; 
update user set host = '%' where user ='root';
flush privileges; 

    解决2:直接授权

      GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

  5.2 安装时的一些错误

    -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
    解决: yum -y install perl perl-devel

    Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    解决:yum -y install libaio-devel

6、其他

  6.1 配置环境变量

    vi + /etc/profile

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

===========附加

centos下加入mysql环境变量
 
命令行的时候每次都要进入mysql的目录/usr/local/mysql/bin太麻烦了,为了能在任何一个位置直接进入,设置一下环境变量即可
vi /etc/profile
加入export PATH=$PATH:/usr/local/mysql/bin即可

猜你喜欢

转载自blog.csdn.net/love_my_lifes/article/details/80649940