1. 首先下载MySQL的linux版本安装文件
[color=blue]tar xzvf mysql-5.1.30.tar.gz[/color]解压文件
然后执行[color=blue]./configure –prefix=/usr/local/mysql –with-charset=gbk –with-extra-charsets=all[/color]
在这个配置过程中分别指定了安装目录为[color=blue]/usr/local/mysql[/color],字符编码为gbk
这个过程中遇到如下问题的解决办法:
[color=red]error: No curses/termcap library found[/color]的解决办法
[color=blue]apt-cache search ncurses
apt-get install libncurses5-dev[/color]
2. configure成功以后执行make命令,这里遇到了如下的问题:
执行configure无错误,在make的时候却报:
[color=red]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[/color]
网上查了一下说这是MySQL自身的错误,解决办法如下:
用你自己喜欢的编辑器打开Makefile文件,找到do_abi_check:所在的行,并且删除它后面的这一段内容,重新make:
[color=red]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[/color]
3. [color=blue]make[/color]结束以后执行[color=blue]make install[/color]命令进行安装,安装结束以后先创建一个用于启动mysql的用户组和用户。使用如下命令创建mysql用户组
[color=blue]groupadd mysql[/color]
接着使用如下命令创建mysql用户组下的mysql用户
[color=blue]useradd –g mysql mysql[/color]
接着再使用如下命令该mysql的密码
[color=blue]passwd mysql[/color]
4. 初始化数据库
首先在[color=blue]/usr/local/mysql/[/color]目录下执如下命令修改目录权限
[color=blue]chown –R mysql:root .[/color]
最后那个点表示修改当前目录的权限
然后切换到[color=blue]/usr/local/mysql/bin/[/color]目录下执行如下命令初始化数据库
[color=blue]./mysql_install_db –-user=mysql[/color]
5. 启动并登录到数据库
使用如下命令启动数据库
[color=blue]./mysqld_safe –user=mysql[/color]
数据库启动以后需要打开另外一个终端窗口来到数据库
[color=blue]./mysql –u username –p password[/color]
然后就可以进行MySQL的管理操作了。
6. 无法远程访问的解决办法
[color=red]ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server[/color]
使用root登录到mysql中,然后修改mysql数据库中user表的host字段
操作步骤如下:
[color=blue]./mysql –u root
use mysql;
select Host,User from user;[/color]
这里我们可以看到root账户的Host指定为了本地,所以无法从远程访问,这里我们将Host的值修改为”[color=blue]%[/color]”,表示允许所有的地址远程访问。
[color=blue]update user set Host=”%” where User=”root”;[/color]
重新执行以下查询,看是否将root账户的Host修改过来了。
关闭MySQL再重新启动。
关闭命令:
[color=blue]./mysqladmin –u root shutdown[/color]
再启动
[color=blue]./mysqld_safe –user=root[/color]
至此可以使用root账号从远程连接了。
例如windows下使用[color=blue]mysql –h IP –u username –p password[/color]
[color=blue]tar xzvf mysql-5.1.30.tar.gz[/color]解压文件
然后执行[color=blue]./configure –prefix=/usr/local/mysql –with-charset=gbk –with-extra-charsets=all[/color]
在这个配置过程中分别指定了安装目录为[color=blue]/usr/local/mysql[/color],字符编码为gbk
这个过程中遇到如下问题的解决办法:
[color=red]error: No curses/termcap library found[/color]的解决办法
[color=blue]apt-cache search ncurses
apt-get install libncurses5-dev[/color]
2. configure成功以后执行make命令,这里遇到了如下的问题:
执行configure无错误,在make的时候却报:
[color=red]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[/color]
网上查了一下说这是MySQL自身的错误,解决办法如下:
用你自己喜欢的编辑器打开Makefile文件,找到do_abi_check:所在的行,并且删除它后面的这一段内容,重新make:
[color=red]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[/color]
3. [color=blue]make[/color]结束以后执行[color=blue]make install[/color]命令进行安装,安装结束以后先创建一个用于启动mysql的用户组和用户。使用如下命令创建mysql用户组
[color=blue]groupadd mysql[/color]
接着使用如下命令创建mysql用户组下的mysql用户
[color=blue]useradd –g mysql mysql[/color]
接着再使用如下命令该mysql的密码
[color=blue]passwd mysql[/color]
4. 初始化数据库
首先在[color=blue]/usr/local/mysql/[/color]目录下执如下命令修改目录权限
[color=blue]chown –R mysql:root .[/color]
最后那个点表示修改当前目录的权限
然后切换到[color=blue]/usr/local/mysql/bin/[/color]目录下执行如下命令初始化数据库
[color=blue]./mysql_install_db –-user=mysql[/color]
5. 启动并登录到数据库
使用如下命令启动数据库
[color=blue]./mysqld_safe –user=mysql[/color]
数据库启动以后需要打开另外一个终端窗口来到数据库
[color=blue]./mysql –u username –p password[/color]
然后就可以进行MySQL的管理操作了。
6. 无法远程访问的解决办法
[color=red]ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server[/color]
使用root登录到mysql中,然后修改mysql数据库中user表的host字段
操作步骤如下:
[color=blue]./mysql –u root
use mysql;
select Host,User from user;[/color]
这里我们可以看到root账户的Host指定为了本地,所以无法从远程访问,这里我们将Host的值修改为”[color=blue]%[/color]”,表示允许所有的地址远程访问。
[color=blue]update user set Host=”%” where User=”root”;[/color]
重新执行以下查询,看是否将root账户的Host修改过来了。
关闭MySQL再重新启动。
关闭命令:
[color=blue]./mysqladmin –u root shutdown[/color]
再启动
[color=blue]./mysqld_safe –user=root[/color]
至此可以使用root账号从远程连接了。
例如windows下使用[color=blue]mysql –h IP –u username –p password[/color]