ubuntu15.04手动安装MySQL5.6.27数据库

时间:2022-08-23 17:11:40

ubuntu15.04手动安装MySQL5.6.27数据库


1.手动安装的原因

使用apt-get install mysql-server命令安装MySQL的时候,环境变量已经配好了,

但是由于配置文件/etc/mysql/my.cnf配置不完整,跟网上的不一样,而且这种安装方法是默认绑定到本机上的,也就是说只能在本机

访问,不能从其他机子进行远程访问(在账号允许在其他机子登陆的情形下)。

按照网上的方法,在my.cnf下的[mysqld]下并不能找到bind-address=127.0.0.1这一项。我就添加了bind-address=0.0.0.0这一项,但

是之后启动一直出错。。。然后在修改编码后shell登陆时,居然还是不能敲入中文,这让人更加无语。。。

apt-get install比较方便,都是系统帮你配好了,要更改比较麻烦,不能按照自己的个性设置。

2.手动安装

2.1下载MySQL安装包

访问MySQL官网:http://www.mysql.com/,根据系统下载对应的版本,要注册一个oracle账号,才可以下载。

如我的机子是64位的ubuntu版本,下载的是mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

如果你的机子是32位的,安装64位版本会出错!因为x86_6464位版本,而x86才是32位版本。


下载链接:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

由于下载的压缩包较大,存放在/tmp目录下。


2.2解压mysql压缩包

首先切换到/usr/local目录下:cd /usr/local

然后解压:

sudo tar zxvf /tmp/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

当前目录下出现解压后的文件夹:mysql-5.6.27-linux-glibc2.5-x86_64

将其重命名为mysqlmv mysql-5.6.27-linux-glibc2.5-x86_64 mysql

2.3更改mysql文件及其子目录的权限

解压后属主默认是root,属组默认是root,我的用户名是gzx。改变属主为我。

sudo chown -R gzx.gzx mysql

接下来在切换到mysql目录下:cd mysql

执行 sudo ./scripts/mysql_install_db --user=gzx

复制文件到init.d下,使机子开机时自动启动mysql服务器。

sudo cp support-files/mysql.server  /etc/init.d/mysql.server


执行sudo  ./scripts/mysql_install_db  --user=gzx

如果提示找不到libaio.so.1共享库找不到,即如下图:

ubuntu15.04手动安装MySQL5.6.27数据库





说明ubuntu15.04不存在libaio.so.1,查询一下是否安装:dpkg  -l | grep  libaio

如果什么都没有显示,说明没有安装这个依赖包,

找一下软件包的名字:apt-cache  search  libaio

然后根据软件包的名字进行下载:sudo  apt-get install  libaio-dev  libaio1

如下图:

ubuntu15.04手动安装MySQL5.6.27数据库





最后再重复sudo  ./scripts/mysql_install_db   --user=gzx即可。

安装成功的画面如下:

ubuntu15.04手动安装MySQL5.6.27数据库


启动mysql服务器:./support-files/mysql.server  start

如果出现如下错误:without updating files

修改mysql目录下的my.cnf配置文件:

找到[mysqld]模块,去掉注释#,添加

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port=3306

保存文件后再执行上述命令即可。

2.4 查看mysql服务器是否启动

使用如下命令:sudo lsof -i:3306

显示如下界面则表示成功启动:

ubuntu15.04手动安装MySQL5.6.27数据库





否则可能是配置文件有错误。

2.5 配置环境变量

为了能在shell下使用mysqlbin工具,需要将其配置到/etc/profile里。

命令如下:sudo vi /etc/profile

在上方添加一行:export MYSQL_HOME=/usr/local/mysql

然后在PATH末尾下添加bin目录,添加$MYSQL_HOME/bin:$PATHPATH末尾

具体如下图:

ubuntu15.04手动安装MySQL5.6.27数据库






保存后退出,运行如下命令,使环境变量生效:source /etc/profile

再在shell下运行如下命令 :export $MYSQL_HOME

具体如下图:

ubuntu15.04手动安装MySQL5.6.27数据库







2.6 登陆mysql

使用root账号登陆:mysql -uroot -p

默认密码为空。

出现如下界面,表示登陆成功:

ubuntu15.04手动安装MySQL5.6.27数据库















2.7 修改mysql的编码方式

默认情况下,mysql建立数据库和表时使用的编码为latin1,不能使用中文,需要修改配置文件my.cnf

修改前:

ubuntu15.04手动安装MySQL5.6.27数据库

my.cnf下找到[client]模块,添加如下文字:default-character-set=utf8

my.cnf下找到[mysql]模块,添加如下文字:default-character-set=utf8

my.cnf下找到[mysqld]模块,添加如下文字:

character-server-set=utf8

init_connect='SET NAMES utf8'

注意上述必须是character-server-set=utf8,不能是default-character-set=utf8,否则会出错。

具体如下图:

ubuntu15.04手动安装MySQL5.6.27数据库

接下来重启mysql服务器:service mysql restart。使之前配置生效。

登录服务器后,输入如下命令查看编码:show variables like 'char%';

出现如下界面表示修改成功:

ubuntu15.04手动安装MySQL5.6.27数据库













2.8修改服务器root的密码和允许root远程登陆

如果没有密码,root可能会对新创建的表缺权限。默认情况下,root账号只能在本机登陆,需修改进行登陆的主机。

2.8.1 更改root账号为所有主机都可以登陆

update mysql.user set  host='%' where user='root' and host='localhost';

2.8.2 修改root密码

set password for  'root'@'localhost' = password('201314');

其中201314为密码明文,但mysql.user用户表保存的是经过password()方法处理的密文,这可以通过查表得知。

刷新权限,以下为必须步骤,否则不起作用。

flush priveleges;

接下来查看用户表中的账号

select user, host, password  from mysql.user;

结果如下图:

ubuntu15.04手动安装MySQL5.6.27数据库
























2.8.3 远程登陆命令

mysql  -uroot  -p201314  -h192.168.1.107

注意hIP地址最好不要有空格。

2.9 其他错误

2.9.1 开机时mysql不会自动开启

mysql的配置文件下的[mysqld]下添加user=我的用户名,

再输入如下命令:sudo update-rc.d  -f  mysql.server defaults

之后重启机器即可。

2.9.2 修改配置文件后,启动时提示错误:too many variables

需加上--user=我的用户名选项。如下:

sudo $MYSQL_HOME/bin/mysqld --user=gzx

2.9.3 apt-get install安装过mysql服务器

必须卸载干净,比较有用的命令如下:sudo apt-get purge mysql-server-5.5

同时必须移除其他与mysql相关的配置文件。

参考博客链接:

http://yidwo.iteye.com/blog/1848547

http://blog.csdn.net/hackerwin7/article/details/2268681

http://www.codelast.com/?p=8208