日期:2014-05-16  浏览次数:20804 次

linux 安装并配置 免安装版的MYSQL
第一步 到官网下载 免安装包(估计170到180M)
     http://dev.mysql.com/doc/refman/5.1/en/binary-installation.html

第二步 将安装包(mysql-5.5.21-linux2.6-x86_64.tar.gz),注意我是x86_64bit


第三步 确定要安装目录:我的目录 /usr/local/mysql,数据库存放的位置可以随意放,但是要在 mysql.service 进行配置, 如下设置:
basedir=/usr/local/iaas_mini/mysql

我编写了一个脚本:大体内容如下。具体可以参看官方网站上的配置;就知道我脚本写的是什么啦;
vi mysql_run.sh


#!/bin/sh

#创建用户组
#创建用户并将其用户mysql加入到组mysql中
groupadd mysql
useradd -r -g mysql mysql

MYSQL_PATH=/usr/local/mysql
cd $MYSQL_PATH

#echo `pwd`

#设置用户能够访问mysql目录
chown -R  mysql .
#设置组用户能够访问mysql目录
chgrp -R  mysql .
#初始化数据库用的
$MYSQL_BASE/scripts/mysql_install_db --user=mysql
#设置ROOT用户访问mysql目录
chown -R root .
chown -R mysql data
#启动mysql 服务
$MYSQL_PATH/bin/mysqld_safe --user=mysql &
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

以下是安装MYSQL到网上找到解决的资料:

MYSQL官方网站:

1.To install and use a MySQL binary distribution, the basic command sequence looks like this:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

运行mysql
#./bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql&

服务启动查看 3306是否启动;

用root进行登录
# ./mysql -u root -p

为了方便起见,我们建立几个链接文件到/sbin中,以免每次要到 mysql中运行程序:

$ ln -s /usr/local/mysql/bin/mysql /sbin/mysql
$ ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

让mysql开机可以随系统启动;

$ cp support-files/mysql.server /etc/rc.d/init.d/mysqld

$修改mysqld中的 pid_file的目录!
当然,目录随意最好是和已经启动的PID目录一致
$ chkconfig ――add mysqld
$ chkconfig ――level 345 mysqld on

验证上述操作的正确性,运行:
$ /etc/rc.d/init.d/mysqld restart
$ service mysqld restart

4、mysql的安全设置
$ mysqladmin -uroot password "youpassword" #设置root帐户的密码
$ mysql -uroot -p

mysql>use mysql;
mysql>delete from user where password="";#删除用于本机匿名连接的空密码帐号
mysql>flush privileges;
mysql>quit       

为了能让远程的用户访问数据库,还要添加远程用户。
$ mysql -p
Enter password:*****
mysql>use mysql
mysql>grant all privileges on *.* totest@"192.168.0.%" identified by "test" with grant option;
mysql>quit;

这样就建立了一个超级用户test,可以在本地局域网的任何地方连接,权限很大但密码很弱智,我们不想这样,但是此时,用户的权限已经开始生效了。
如果你手工修改授权表,要:mysql>FLUSH PRIVILEGES;
或者$ mysqladminflush-privileges -p
此外,全局权限的改变和口令改变在下一次客户连接时生效,
表和列权限在客户的下一次请求时生效,
数据库权限改变在下一个 USEdb_name 命令生效。
用 mysqlcc 修改 test 用户的权限,由于我不想让这个用户破坏我的数据,所以在 user 表中。
root@guan-desktop:/usr/local/mysql# bin/mysql_install_db--user=mysql











2.linux远程连接数据库错误 ERROR 2003 (HY000): Can't connect to MySQL server

关掉防火墙试试

[root@mail ~]# /etc/init.d/iptables stop

Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
[root@mail ~]# chkconfig iptables off

3.则会报出ERROR 1130 (HY000): Host '211.87.***.***'is not allowed to connect to this MySQL server提示信息,不能远程连接数据库。

#mysql
myqsl> grant all privileges