RedHat9.0操作系统,(Red Hat 企业版4也安装过) 下载MySQL-5.0.20a.tar.gz. jdk-6u13-linux-i586-rpm.bin
安装mysql
开启终端 依次输入命令:
1 groupadd mysql 创建mysql组
2 useradd -g mysql mysql 创建该组下的用户
3 tar zxvf mysql-5.0.20a.tar.gz 解压缩 也可以在文件上右键直接解压
4 cd mysql-5.0.20a 进入目录
5 ./configure --prefix=/opt/mysql --with-charset=gb2312 进行安装 安装在/opt/mysql目录下
6 make
7 make install
8 cp support-files/my-medium.cnf /etc/my.cnf 复制my-medium.cnf到etc下命名为my.cnf
9 cd /opt/mysql进入目录
10 bin/mysql_install_db --user=mysql 创建数据库名为mysql
(20100106注意 一定要有这一步 而且必须是bin/mysql_install_db --user=mysql 否则下面的chown -R mysql var会报错: 没有这个目录)
11 chown -R root . 变更文件的拥有者(注意:后面有个. 而且 . 前有个空格 . 表示当前目录)
12 chown -R mysql var 表示递归之下的所有目录
13 chgrp -R mysql . 变更群组 (注意:后面有个. 而且 . 前有个空格 改变目录所属为mysql)
14 bin/mysqld_safe --user=mysql & 启动mysql
15 bin/mysql -uroot -p
到这里 提示你输入密码,初始密码为空 直接进入。
开启终端,修改密码:
/opt/mysql/bin/mysqladmin -u root password 'new-password'
事情并没有完,重启系统发现再也进不去。
进入时候出现错误:
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
后来发现是系统没有启动mysql的服务,在服务列表中也没有mysql,解决方法如下:
开启终端,依次输入命令:
1 cp -p /opt/mysql/share/mysql/mysql.server /etc/init.d/mysql 把mysql的服务文件复制到linux中
2 cd /etc/init.d/ 进入系统服务文件目录
3 chkconfig --add mysql 把服务添加到linux系统服务中
4 chkconfig mysql on 设置服务为自动启动
mysql设置环境变量
我直接输入:
mysql -u root -p
提示bash: mysql: command not found
然后我到/usr/local/mysql/bin下输入:
mysql -u root -p
还是提示bash: mysql: command not found
然后我输入:
./mysql -u root -p
ok,可以了。
这里是因为环境变量没设!
etc/profile中添加:
export PATH=$PATH:/opt/mysql/bin
保存,重启系统。
登陆系统,开启终端,直接输入mysql -uroot -p 就可以进入mysql了
2009年11月12日补充:
安全:
本人的情况就是root用户进入mysql需要密码,普通用户进入mysql直接在命令行输入‘mysql’就行了。这肯定是不允许的。
重新启动计算机,在终端$下输入mysql能直接进入mysql>下,说明有空用户存在。解决办法:先\q退出,再:
mysql -u root -p
mysql>delete from mysql.user where user=''; #删除空用户,强烈建议。
mysql>flush privileges; #刷新权限表,以便可以使更改立即生效
mysql>\q回车退出
结果:再输入mysql,就不能进入了。必须用mysql -u xxxx -p的形式了。