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退出);
刚安装完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。