`

ubuntu下源码方式安装mysql-5.6.10

阅读更多

        即将新官上任,有很多环境要自己搭建,现将自己搭建的每一个过程都记录下来,希望给自己做个保存,也想给有同样需要的朋友提供参考,减少不必要的时间

       我用的是ubuntu11.04版本,绝对是全新的环境,参照的mysql官网的英文步骤操作的

 

一、准备工作

       a. 到mysql官网下载mysql-5.6.10.tar.gz文件,记住,这里是source安装,不是generic安装,source是需要自己编译的,generic的是已经编译好的;这里我已经提供了下载好的source版,见附件

       b.安装cmake工具,查看是否安装

cmake -v

        没有安装的话,直接

apt-get install cmake

      c.安装g++或者其他C/C++编译工具,我这里安装的是g++,因为安装g++,也会连gcc也安装上;

         查看是否安装

g++ -version

        如果没有安装的话,直接

apt-get install g++

      d.安装bison

apt-get install bison

apt-get install libncurses5-dev  #安装curses图形库

 

二、安装

   添加mysql用户组和用户

 

groupadd mysql
useradd -r -g mysql mysql
cd /usr/src #mysql-5.6.10就下载在该目录下
tar zxvf mysql-5.6.10.tar.gz
cd mysql-5.6.10/
cmake .
make
make install
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
cp support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe --user=mysql &
cp support-files/mysql.server /etc/init.d/mysql.server

 

 至此安装完成,用如下命令可以进行mysql服务器的操作

service mysql.server start
service mysql.server stop
service mysql.server restart
service mysql.server 可以显示有哪些options

 注意,大多数人分不清楚如何查看mysql server是否安装成功

 

用如下命令查看mysqlserver是否运行

netstat -nat
看到如下3306监听tcp端口,表示已经启动
tcp6       0      0 :::3306                 :::*                    LISTEN
也可以停止server再查看一下,会发现没有了

 

 三、安装mysql-client客户端

此时在命令运行mysql命令,不会有任何反应,有些人会误以为还要安装mysql-client端

其实mysql-5.6.10编译安装已经包含了client端,在源码包/usr/src/mysql-5.6.10/client可以看到源码包

 

在/usr/local/mysql/bin目录下可以使用mysql命令、mysqladmin、mysqldump等

这时大家就明白了,只要将/usr/local/mysql/bin目录设为环境目录就行了

操作如下

两种方法:
1.直接编辑profile
vi /etc/profile
在最后加
export MYSQL_BIN=/usr/local/mysql/bin
export PATH=$PATH:$MYSQL_BIN

2.在/etc/profile.d目录下新增sh文件
cd /etc/profile.d
vi mysql.sh
输入内容
MYSQL_BIN=/usr/local/mysql/bin
if [ -d $MYSQL_BIN ]; then
        export PATH=$PATH:$MYSQL_BIN
fi
简单吧,看一下就明白了,其实profile会执行/etc/profile.d下面的每个sh脚本

这样在命令行任何目录就可以使用mysql命令了,以后每次登录的时候也可以了使用mysql命令了

 

四、使初始MySQL账户安全

我喜欢站在别人是初学者的角度记录文档,毕竟我们是想让别人完全看懂,没有落下任何步骤的操作正确;

上面的server和client都可以使用,我们就应该考虑账户问题了,因为在这之前都没有账户,你一定也想到了;我这里同样是官方的手册文档,请放一百个心的按步操作

 

mysql_install_db程序已经安装了授权表,在mysql的user表中可以查看

mysql -u root
use mysql;
mysql> select host,user,password from user ;
结果如下:
+-----------+------+----------+
| host        | user | password|
+-----------+------+----------+
| localhost  | root |          |
| ubuntu     | root |          |
| 127.0.0.1 | root |          |
| ::1          | root |          |
| localhost  |        |          |
| ubuntu    |        |          |
+-----------+------+----------+
6 rows in set (0.00 sec)

 可以看出,目前我们有6个mysql账户了,可惜的是password都为空,这意味着,我们的数据库未收到任何保护,root账户和最后两个匿名账户,都是无密码状态,理想的状态下,我们要删除掉这两个匿名账户,毕竟我们都不希望别人匿名访问我们的数据库

mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
这样我们就删除了匿名账户,只剩root账户了,并且是权限立即生效了

如果你没有删除匿名账户,你可以通过SET PASSWORD或者UPDATE或者mysqladmin来设置匿名账户密码!!!

 

为root账户指定密码!!!!

用SET PASSWORD、UPDATE、mysqladmin命令都可以设置,我们只选择UPDATE最简单方式

mysql> UPDATE mysql.user SET Password = PASSWORD('qjwm@850120$') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
这样就将root密码改为了qjwm@850120$
设置密码的时候一定要用PASSWORD加密

至此,root用户就已经被设置了密码,以后再进行数据库操作的时候,都需要提供密码了

剩下的你就可以用GRANT新增账户并进行其他操作了,祝大家好运!

 

如果root账户密码丢失了,还可以找回,这里只提供个链接了!http://dev.mysql.com/doc/refman/5.1/zh/problems.html#resetting-permissions

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics