Linux下Mysql的安装(一)

来源:互联网 发布:网络用语6是什么意思 编辑:程序博客网 时间:2024/05/18 01:00
如何在Linux下安装mysql的二进制源代码包--高级用户

几天研究了好久,终于被我知道了如何在Linux下安装mysql的二进制源代码包,最终解决了ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)的权限问题,真的是感慨万分啊,只想把他写出来,让自己以后不要忘记了,好了,废话不多说了,看看我的安装步骤吧!
1.下载mysql-5.0.51a-linux-i686-glibc23.tar.gz,下载地址为http://download.unix-center.net/ ... i686-glibc23.tar.gz
2.把下载的文件放在你的主目录,在终端输入ls,如下:
[root@localhost mysql]# ls
Desktop  Documents  Download  Music  mysql-5.0.51a-linux-i686-glibc23.tar.gz  Pictures  Public  Templates  Videos
3.然后用tar -zxvf mysql-5.0.51a-linux-i686-glibc23.tar.gz命令解压到当前目录,如下:
[root@localhost mysql]# tar -zxvf mysql-5.0.51a-linux-i686-glibc23.tar.gz
[root@localhost mysql]# ls
Desktop    Download  mysql-5.0.51a-linux-i686-glibc23         Pictures  Templates
Documents  Music     mysql-5.0.51a-linux-i686-glibc23.tar.gz  Public    Videos
4.因为用的是源代码,所以要把文件copy到安装目录/usr/local/下,才能运行!
[root@localhost mysql]# cp –rf mysql-5.0.51a-linux-i686-glibc23 /usr/local/
5.查看系统有没有安装过mysql,查找rpm,如下:
[root@localhost mysql]# rpm –qa | grep mysql
有的话一个一个删除掉,用rpm -e命令,然后查找一下残留的文件:
[root@localhost mysql]# cd /
[root@localhost /]# find / -name mysql
如果查找到rm -rf filename删除.
[root@localhost /]# find / -name my.cnf
如果查找到删除,一般my.cnf是在/etc/my.cnf这里.
6.链接到mysql,如下:
[root@localhost /]# cd /home/mysql
[root@localhost mysql]# ln -s mysql-5.0.51a-linux-i686-glibc23 /usr/local/mysql
7.初始化mysql表格,安装 mysql 默认数据库,如下:
[root@localhost mysql]# cd /usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:
./bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the ./bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
8.修改目录权限,如下:
[root@localhost mysql]# cd /usr/local
[root@localhost local]# chgrp -R mysql mysql-5.0.51a-linux-i686-glibc23
[root@localhost local]# chgrp -R mysql mysql
[root@localhost local]# chown -R mysql mysql-5.0.51a-linux-i686-glibc23/data
[root@localhost local]# chown -R mysql mysql/data
[root@localhost local]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
ln: creating symbolic link `/usr/local/bin/CMakeLists.txt': File exists
ln: creating symbolic link `/usr/local/bin/comp_err': File exists
ln: creating symbolic link `/usr/local/bin/comp_sql.c': File exists
ln: creating symbolic link `/usr/local/bin/make_sharedlib_distribution': File exists
ln: creating symbolic link `/usr/local/bin/make_win_bin_dist': File exists
ln: creating symbolic link `/usr/local/bin/make_win_src_distribution_old'
文章出处:http://www.diybl.com/course/7_da ... 2008927/146278.html

http://zrf8579.yourblog.org/logs/522139.html



安装MySQL 假设你把所有必须的源码或者包都放在了/tmp下。如果你下载的是RPM包的话,那比较简单;如果你下载的是二进制包(你没有rpm程序或者你想自定义的话),那么会稍微麻烦一点。 RPM包安装 你必须成为root用户才能使用rpm安装程序,以下是安装过程: $ cd /tmp $ su # rpm -Uvh MySQL*(安装和MySQL相关的所有包) 这将安装你下载的所有3个MySQL包。如果你的系统是RedHat Linux的话,建议使用RPM安装方式,因为所有的工作都由rpm程序帮你搞好了。 源码安装 相对于用RPM安装来讲,用二进制源码安装是稍微麻烦了点。但是我们可以在安装脚本中可以自定义安装的相关参数,而不用象rpm方式只能安装默认的来安装。 安装二进制源代码 如果你下载的是二进制源代码,它的名字类似于: mysql-3.22.21-pc-linux-gnu-i686.tar.gz。你必须成为root用户,然后解压到 /usr/local目录,操作步骤如下: $ cd /usr/local $ su # tar -zxvf /tmp/mysql-3.22.21-pc-linux-gnu-i686.tar.gz 在所有文件解压完后,一个名字叫mysql-3.22.21-pc-linux-gnu-i686的目录将被创建出来。我们为这个目录做个符号链接,并给它一个更友好的名字mysql (免得叫mysql-3.22.21-pc-linux-gnu-i686这么长): # ln -s mysql-3.22.21-pc-linux-gnu-i686 mysql 如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后只需要做个符号链接就可以了。这样非常方便,数据也更加安全。   建立一个MySQL 用户 好,现在我们将建立一个能运行MySQL守护程序的用户帐号,并且所有MySQL文件都归此帐户拥有。使用 Linuxconf或者useradd命令去添加一个叫 mysql 的帐号,在添加之前,确保没有人注册了这个帐户,还要暂时禁止login功能(不过一般都是在没有其他人登陆的情况下调试机器,因此这个步骤可免)   为MySQL做准备 首先让我们将MySQL目录和文件的拥有权改成 mysql 用户和root组: # cd /usr/local # chown -R mysql:root mysql-3.22.21-pc-linux-gnu-i686 mysql 然后运行一个小脚本程序,以建立初始化的MySQL数据库。请以一个mysql 用户的身份完成这个任务,这也是我们能够直接使用这个帐户的唯一机会。 # su mysql $ cd mysql $ scripts/mysql_install_db $ exit 如果没有任何出错信息显示的话,那就可以了。   自动运行MySQL 在MySQL二进制包里面,有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面: # cd /etc/rc.d/init.d # cp /usr/local/mysql/support-files/mysql.server mysql 接着把它的属性改为“x”(executable,可执行) # chmod +x mysql 最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。 # /sbin/chkconfig --del mysql # /sbin/chkconfig --add mysql   测试MySQL MySQL里面有一个简单的数据库例子test ,而且它的内部数据库一直保持对权限和帐户的监视,因而先运行mysql看看是否可以工作。 首先启动MySQL: # /etc/rc.d/init.d/mysql start 如果一切正常,你将看到以下的信息出现: Starting mysqld daemon with databases from /var/lib/mysql 如果你安装的是RPM包,那么程序大都安装在/usr/local/mysql/bin。在此目录下运行客户端程序: # mysql 然后你可以看到屏幕显示出以下信息: Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 2 to server version: 3.22.21 Type ’help’ for help. mysql> 接着,用show databases命令可以将安装的数据库列出来: mysql> show databases; 你就可以看到: +----------+ | Database | +----------+ | mysql | | test | +----------+ 2 rows in set (0.00 sec) 如果一切正常的话,那说明MySQL可以完全工作了!恭喜你!如果要退出程序,输入:exit mysql> exit; Bye 更改管理员密码 在一切正常后,要做的第一件事情是更改管理员的密码。你可以运行mysqladmin (请注意,此命令不一定在你的path中,所以最好是转到此命令的目录中直接执行): # mysqladmin -u root password newpassword 此命令把root用户的口令变成newpassword。当然你可以把口令换成其它,因为这个很容易破解 MySQL是一个多用户、多线程SQL数据库服务器。可以用于各种流行操作系统平台的关系数据库,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL完全适用于网络,用其建造的数据库可以在网上的任意地方访问。MySQL可以使用SQL语言。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新信息更容易。MySQL主要目标是快速、健壮和易用。 一. MySQL的安装   所需资源:   在XteamLinux 4.0中,系统已经默认安装了MySQ