Ubuntu 源码安装 MySQL 5.1.62
Ubuntu 源码安装 MySQL 5.1.62(我个人经验,仅供参考)
在ubuntu下安装数据库最简单直接的方法就是用一句命令:sudo apt-get install mysql-server 但这一个方法经常会遇到问题,具体原因我也不清楚,可能是mysql的服务器出问题了,下载不到源码,也可能是自己机器的问题。但有时也是挺方便的就是在中途设置一个root用户的密码就行了,适合对linux不太熟悉的初学者。第二个方法就是利用mysql的源码进行安装,现在网上也有很多关于mysql源码安装的教程,自己也尝试很多,发现不是这样就是那样的问题,最后我想还是自己的问题自己解决算了,于是经过自己的不断探索我终于找到了一个适合自己的源码安装方法。这个方法的好处是当你的机器无法联网或者是第一个方法不行是就会凸显其优点。我的环境是ubuntu-11.04,内核版本是2.6.38.
1、首先下载mysql-5.1.62源码安装包mysql-5.1.62.tar.gz
2、把它解压到/usr/local目录下tar –zxvf mysql-5.1.62.tar.gz –C /usr/local解压成功后,打开/usr/local会看到mysql-5.1.62的目录
3、创建软连接在/usr/local目录下执行:ln –s /usr/local/mysql-5.1.62 mysql 成功后会看到/usr/local目录下出现一个mysql的连接文件。该文件可以通过cd mysql进入
4、完成上面的工作后,下一步要创建mysql用户了:先创建一个用户组groupadd Mysql 。成功后再创建一个用户并把用户添加到刚创建好的用户组里面useradd –r –g Mysql mysql 。完成这一步后,我们已经创建好了用户组Mysql和用户mysql(用户组和用户名都是可以自定义的)
5、我们要给刚才创建好的用户组和用户赋予操作mysql目录的权限操作如下:在/usr/local/mysql目录下执行chown –R mysql .(别丢了最后一个“.”)这一步是给用户mysql赋予权限。接着执行chgrp –R Mysql .(注意最后一个点),这天一步是给用户组Mysql赋权
6、上面的所有准备工作完成后,我们要开始安装mysql了(嘿嘿)在/usr/local/mysql路径下你会看到文件configure 执行命令:./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --with-unix-socket-path=/tmp/mysql.sock --with-tcp-port=3309 --with-mysqld-user=mysql --enable-profiling(这一步时间有点长,要等一会哦)成功后你会看到Thank you to choosing MySQL 的字样,说明你已经成功1/3了(哈哈)
7、然后执行make(这一步时间更长,等待哦)
8、再接着执行make install(这一步也比较长)
上面三步成功后说明你已经成功安装mysql了,接下来就是怎么配置的问题了。执行cp ./support-files/mysql.server /etc/init.d/mysqld和
cp ./support-files/my-medium.cnf /etc/my.cnf这两个操作是把/usr/local/mysql/support-files/目录下才两个文件mysql.server和my-medium.cnf分别放到指定的目录下并重新命名为mysqld和my.cnf
9、这一步是对my.cnf文件的操作,刚才我们把它放在了/etc/目录下,你可以在/etc/目录下面找到这个文件。执行命令gedit my.cnf(或者vi my.cnf)找到port这个选项,目前可能是port=3306而我们刚才设置的是3309(查看第6步)所以我们要把它改为3309即port=3309(一共是两个都要改了)
10、 第一次安装数据库,要进行初始化:在/usr/local/mysql路径下执行bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql(你会在/usr/local/mysql/bin目录下看到mysql_install_db这个文件)
11、 哈哈,这一步要启动mysql了,是不是有点激动呢,废话不多说,直接上命令:在/usr/local/mysql目录下,执行bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & (别丢下最后一个&, &是为了让mysql在后台运行,不然只能在前台运行了)现在mysql已经启动然后我们可以登录数据库了
12、 现在开始登录数据库,命令:mysql -u root –p (现在数据库root用户我们还没设置密码,默认为空,所有-p后面什么也不用添加)Enter后你会看到Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.62-log Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
这说明你已经成功了,哈哈哈哈
11、现在可以为root用户添加密码了,方法很简单:
命令mysqladmin -u root password 'new-password'或者mysqladmin -u root password –h “hostname” 'new-password'其中new-password就是你想要给root用户设置的密码,-h是知道你的主机,主机名“hostname”可以通过命令hostname查看
然后当你再次登录mysql时就要输入这个密码了(不要忘了哦),当然你也可以不设置密码,不过没密码的数据库就没什么安全可言了,嘿嘿。
12、不过这个数据库每次都要手动启动,下面介绍一种让mysql开机自启动的方法:用超级用户root的身份操作
# echo "/usr/local/mysqlgame/bin/mysqld_safe &" >> /etc/rc.local
# more /etc/rc.local 查看是否添加成功。
# reboot 重启Linux 看看是否成功