CentOS安装Mysql(源码)数据库

来源:互联网 发布:襄阳招聘医院网络 编辑:程序博客网 时间:2024/06/16 08:12
CentOS安装Mysql数据库

一.环境
CentOS7
mysql-5.1.30.tar.gz(位于/tmp)
二.步骤
1.配置(预编译) ./configure --prefix=usr/local/mysql 配置并指定安装路径;
configure: error: no acceptable C compiler found in $PATH,出现错误,没有GCC编译器环境;
解决措施:安装gcc编译器:yum -y  install gcc/yum install gcc-c++
checking for termcap functions library... configure: error: No curses/termcap library found  原因ncurses安装包;
解决措施:

yum list|grep ncurses

yum -y install ncurses-devel   / yum install ncurses-devel

2.编译 make

make[2]: *** [do_abi_check] 错误 1<br>

make[2]: Leaving directory `/tmp/mysql-5.5.3-m3'<br>

make[1]: *** [abi_check] 错误 2<br>

make[1]: Leaving directory `/tmp/mysql-5.5.3-m3'<br>

make: *** [all-recursive] 错误 1

make后,出现以上错误;与g++不兼任所至

解决方法:在configure完成之后,用你喜欢的编辑器打开Makefile,即do_abi_check:目标后的所有语句。删除文件,重新解压,重新预编译!

删除红色部分
do_abi_check:
    set -ex; \
    for file in $(abi_headers); do \
             gcc -E -nostdinc -dI \
                      -I$(top_srcdir)/include \
                      -I$(top_srcdir)/include/mysql \
                      -I$(top_srcdir)/sql \
                      -I$(top_builddir)/include \
                      -I$(top_builddir)/include/mysql \
                      -I$(top_builddir)/sql \
                     ........

    done

3.安装 make install

4.检查是否安装成功 cd /usr/local/mysql,ls查看是否出现bin docs....等目录表示安装成功;

5.进入安装包的目录下拷贝配置文件到/etc目录下:cd /tmp/mysql-5.1.30 ,ls 查看,cp support-files/my-medium.cnf /etc/my.cnf,选择覆盖;

6.修改配置文件(vi /etc/my.cnf) 查找/skip-federated(按n向下查找),然后将skip-federated注释掉#skip-federated;

7.创建用户和组(默认是root用户,root组):创建组:groupadd 组名;创建用户并指定组:useradd 用户名 -g 组名;给用户设定密码:passwd 用户名(回车,输入密码);
8.修改mysql权限:数据库默认用户是root,用户所属组是root,改为新建的用户名和组名
cd /usr/local 进入mysql安装目录,ll:查看mysql目录的详细信息;chown -R 用户名 目录名或者.
chgrp -R 组名 目录名
9.导入mysql软件安装自身需要的数据:cd /usr/local/mysql/bin   ls   ./mysql_install_db --user=用户名 (以用户名身份导入数据)
10.启动mysql服务:cd /usr/local/mysql/bin  ls  ./mysqld_safe  --user=用户名 $(备注$不能少)
11.登录mysql:mysql -uroot -p(按ctrl+c退出);

解决Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误

解决Can't connect local MySQL server through socket '/tmp/mysql.sock'错误;

刚安装完mysql,进行运行测试,报Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误,

[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe
131206 22:42:51 mysqld_safe Logging to ‘/var/log/mysqld.log’.
131206 22:42:51 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data
131206 22:42:57 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[root@localhost mysql]# /usr/local/mysql/bin/mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

检查一下mysql的运行状态
[root@localhost mysql]# ps -ef | grep mysql
root     32092  2108  0 22:43 pts/0    00:00:00 grep mysql

查看/tmp文件夹的确没有mysql.sock文件,

通过find命令查找

[root@localhost /]# find / -name mysql.sock
/var/lib/mysql/mysql.sock

原来安装到/var/lib/mysql/mysql.sock这个位置啦,我们需要修改my.cnf文件

[root@localhost /]# vi /usr/local/mysql/my.cnf

[client]
character-set-server = utf8
port    = 3306
socket  = /var/lib/mysql/mysql.sock
……

保存之后即出,重新启动mysql。




0 0