Ubuntu下安装MySQL问题总结

1. 首先下载MySQL的linux版本安装文件
tar xzvf mysql-5.1.30.tar.gz解压文件
然后执行 ./configure –prefix=/usr/local/mysql –with-charset=gbk –with-extra-charsets=all
在这个配置过程中分别指定了安装目录为 /usr/local/mysql,字符编码为gbk

这个过程中遇到如下问题的解决办法:
error: No curses/termcap library found的解决办法
apt-cache search ncurses
apt-get install libncurses5-dev


2. configure成功以后执行make命令,这里遇到了如下的问题:
执行configure无错误,在make的时候却报:
make[2]: *** [do_abi_check] 错误 1
make[2]: Leaving directory `/tmp/mysql-5.5.3-m3′
make[1]: *** [abi_check] 错误 2
make[1]: Leaving directory `/tmp/mysql-5.5.3-m3′
make: *** [all-recursive] 错误 1

网上查了一下说这是MySQL自身的错误,解决办法如下:
用你自己喜欢的编辑器打开Makefile文件,找到do_abi_check:所在的行,并且删除它后面的这一段内容,重新make:
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 \
                                     $$file 2>/dev/null | \
                      /bin/sed -e '/^# /d' \
                                -e '/^[     ]*$$/d' \
                                -e '/^#pragma GCC set_debug_pwd/d' \
                                -e '/^#ident/d' > \
                                           $(top_builddir)/abi_check.out; \
                      /usr/bin/diff -w $$file.pp $(top_builddir)/abi_check.out; \
                      /bin/rm $(top_builddir)/abi_check.out; \
    done


3. make结束以后执行 make install命令进行安装,安装结束以后先创建一个用于启动mysql的用户组和用户。使用如下命令创建mysql用户组
groupadd mysql
接着使用如下命令创建mysql用户组下的mysql用户
useradd –g mysql mysql
接着再使用如下命令该mysql的密码
passwd mysql

4. 初始化数据库
首先在 /usr/local/mysql/目录下执如下命令修改目录权限
chown –R mysql:root .
最后那个点表示修改当前目录的权限
然后切换到 /usr/local/mysql/bin/目录下执行如下命令初始化数据库
./mysql_install_db –-user=mysql

5. 启动并登录到数据库
使用如下命令启动数据库
./mysqld_safe –user=mysql
数据库启动以后需要打开另外一个终端窗口来到数据库
./mysql –u username –p password
然后就可以进行MySQL的管理操作了。

6. 无法远程访问的解决办法
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
使用root登录到mysql中,然后修改mysql数据库中user表的host字段
操作步骤如下:
./mysql –u root
use mysql;
select Host,User from user;

这里我们可以看到root账户的Host指定为了本地,所以无法从远程访问,这里我们将Host的值修改为” %”,表示允许所有的地址远程访问。
update user set Host=”%” where User=”root”;
重新执行以下查询,看是否将root账户的Host修改过来了。
关闭MySQL再重新启动。
关闭命令:
./mysqladmin –u root shutdown
再启动
./mysqld_safe –user=root
至此可以使用root账号从远程连接了。
例如windows下使用 mysql –h IP –u username –p password










猜你喜欢

转载自zy3381.iteye.com/blog/1751168