Linux环境下安装解压缩版MySQL5.5成功完成。
本来是想在www.mysql.com网上下载安装的mysql的,看了几个版本全是解压的。就在网上搜索了一些资料进行了解压版的安装。
下面给大家说一下设置的过程。
首先参考了:http://sheng.iteye.com/blog/830209 的博客。
(由于没有安装成功,所以在其博客的基础上做了相应的修改如下)
1、下载MySQL免安装版/二进制版软件(不用编译)
按照自己系统选择 http://www.mysql.com/downloads/installer/
2、创建MySQL组,建立MySQL用户并加入到mysql组中
(不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。)
#groupadd mysql
#useradd -g mysql mysql
3、进入目录/usr/local,解压缩免安装版,并在此目录中建立名为 mysql的软连接
# tar -zxvf mysql-5.5.2-m2-linux-i686-glibc23.tar.gz
解压后会得到一个目录 mysql-5.5.2-m2-linux-i686-glibc23
在目录/usr/local 建立名字为mysql的软连接
#ln -s /opt/mysql-5.5.2-m2-linux-i686-glibc23 mysql
4、添加MySQL配置文件
如果你想要设置一个选项文件,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。
#cp support-files/my-medium.cnf /etc/my.cnf
说明support-files目录在你解压的
mysql-5.5.2-m2-linux-i686-glibc23 目录里面
(可能你需要用root用户运行这些命令。)
这里需要添加一些设置,否则会出现:The server quit without updating PID file 错误
编辑/etc/my.cnf文件
在[mysqld]下面加上:datadir=/usr/local/mysql/data
如下图所示:
其中/usr/local/mysql/data 就是mysql-5.5.2-m2-linux-i686-glibc23目录下的data目录
再到/usr/local/mysql/data 执行chown -R mysql:mysql * 然后杀掉mysql进程(没有mysql就算了)。
5、设定目录访问权限,用mysql_install_db创建MySQL授权表初始化,并设置mysql,root帐号访问权限
#cd mysql
#chown -R mysql .
#chgrp -R mysql .
#scripts/mysql_install_db –user=mysql
#chown -R root .
#chown -R mysql data
(注意以上命令中的" . "符号不能少。)
6、运行MySQL
#bin/mysqld_safe –user=mysql &
(如果没有问题的话,应该会出现类似这样的提示:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。
大多数问题是权限设置不正确引起的。 )
7、设置root密码。默认安装密码为空,为了安全你需要修改密码
#/usr/local/mysql/bin/mysqladmin -uroot password yourpassword
8、拷贝编译目录的一个脚本,设置开机自动启动
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 700 /etc/init.d/mysqld
#chkconfig –add mysqld
#chkconfig –level 345 mysqld on
9、启动mysqld服务
#service mysqld start
10、查看3306端口是否打开。要注意在防火墙中开放该端口
#netstat -atln
解压版mysql安装完成后,用jdbc连接进行数据库操作,出现了一下问题:
Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
这涉及到了mysql的远程访问权限的问题。
那么如何开启Mysql的远程访问账号,请看如下资料:
增加允许远程连接 MySQL 用户并授权。
1)首先以 root 帐户登陆 MySQL
在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL 的 bin 目录下,然后输入下面的命令。
在 Linux 主机中在命令提示行下输入下面的命令。(请使用mysql的root用户登录)
#mysql -uroot -p123456
2)创建远程登陆用户并授权
mysql>grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';
注意:上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。
下面逐一分析所有的参数:
all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
discuz.*
表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 *
表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
123.123.123.123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。
123456 为用户的密码。
执行了上面的语句后,再执行下面的语句,方可立即生效。
mysql>flush privileges;
配置完成,已经可以使用了。就先写到这里吧!
补充:MySQL在Linux下安装数据库名、表名、列名、别名大小写规则:
1.数据库名和表名严格区分大小写;
2.表的别名严格区分大小写;
3.列名和列的别名在所有的情况下都忽略大小写;
4.变量名也是严格区分大小写的。
注意:
A、Linux下MySQL安装完后默认:区分表名的大小写,不区分列名的大小写。
B、改变表名的大小写区分规则的方法:用root帐号登录,在/etc/my.cnf
或 /etc/mysql/my.cnf
中的[mysqld]后添加添加lower_case_table_names=1,重启MySQL服务,若设置成功,则不再区分表名的大小写。