Linux下MySql安装.docx
《Linux下MySql安装.docx》由会员分享,可在线阅读,更多相关《Linux下MySql安装.docx(9页珍藏版)》请在冰豆网上搜索。
Linux下MySql安装
mysqllinux安装
一、创建组和用户
创建MySQL组,建立MySQL用户并参加到mysql组中,〔不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。
〕
创建组:
#groupaddmysql
创建用户:
#useradd-gmysqlmysql
PS:
输入完成后再输入一次,只要提示已存在,那么说明创建成功
二、安装mysql
PS:
如果安装时在可视化界面中,可以直接复制安装程序到本机的/home文件夹下。
复制方法:
进入U盘复制安装程序,然后点击桌面上的计算机—文件系统—找到home文件夹,打开后粘贴即可。
如果没有可视化操作界面或者想要尝试命令复制,可以进展以下步骤:
三、
安装程序放在/home//目录下:
先进入U盘文件夹
#cd/media/disk(后面跟U盘的名字)
#ls(查看U盘中的容)
复制文件到home中
cp/media/U盘的名字/文件所在文件夹的名字/文件名(全名,带拓展名)/home(/home可以改为需要复制到的文件夹的名字,和前面的语句中间有个空格,请注意)
进入安装目录
#cd/home/
#tar-zxvfmysql-5.1.58.tar.gz(sql的版本号需要注意)
#cdmysql-5.1.58(sql的版本号需要注意)
以下指令需要一同输入(用空格隔开,不要按回车)
#./configure--prefix=/data/mysql--with-charset=utf8--with-collation=utf8_general_ci--with-extra-charsets=all--localstatedir=/var/lib/mysql--with-comment=Source--with-server-suffix=-enterprise-gpl--with-mysqld-user=mysql--without-debug--with-big-tables--with-pthread--enable-static--enable-thread-safe-client--with-client-ldflags=-all-static--with-mysqld-ldflags=-all-static--enable-assembler--without-ndb-debug--with-unix-socket-path=/data/mysql/tmp/mysql.sock
#make
#makeinstall
编译的时间可能会比拟长,毕竟优化的比拟厉害。
配置成功会提示:
MySQLhasaWebsiteat.mysql./whichcarriesdetailsonthe
latestrelease,upcomingfeatures,andotherinformationtomakeyour
workorplaywithMySQLmoreproductive.Thereyoucanalsofind
informationaboutmailinglistsforMySQLdiscussion.
Remembertochecktheplatformspecificpartofthereferencemanualfor
hintsaboutinstallingMySQLonyourplatform.Alsohavealookatthe
filesintheDocsdirectory.
ThankyouforchoosingMySQL!
四、添加MySQL配置文件与访问权限
#cd/data/mysql
#bin/mysql_install_db--user=mysql
#chown-Rroot:
mysql.//设置权限,注意后面有一个"."
#chown-Rmysql/var/lib/mysql//设置mysql目录权限,可省略
#chgrp-Rmysql.//注意后面有一个"."
#cpshare/mysql/my-largef/etc/myfd(是否覆盖输入yes)
五、运行MySQL
#/data/mysql/bin/mysqld_safe–user=mysql&
如果没有问题的话,应该会出现类似这样的提示:
[1]42264
#Startingmysqlddaemonwithdatabasesfrom/usr/local/mysql/var
如果出现mysqlended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/myf中配置。
大多数问题是权限设置不正确引起的。
六、mysql设置
1、root密码。
(先忽略,先进展第二步,后面设置完成后在设置)
默认安装密码为空,为了安全你需要修改密码
#/data/mysql/bin/mysqladmin-urootpasswordyourpassword
屡次修改密码
mysql>usemysql;
mysql>UPDATEuserSETPassword=PASSWORD('newpassword’)whereUSER=’root’;
mysql>FLUSHPRIVILEGES;
mysql>quit
2、远程访问设置
先进入MySql:
#/data/mysql/bin/mysql
默认只能localhost访问,将localhost改为’%’
mysql>usemysql;
mysql>updateusersethost='%'whereuser='root';
mysql>FLUSHPRIVILEGES;
mysql>quit
按照别人提供的方式update的时候,出现错误。
mysql>updateusersethost='%'whereuser='root';
ERROR1062(23000):
Duplicateentry'%-root'forkey'PRIMARY'
然后查看了下数据库的host信息如下:
mysql>selecthostfromuserwhereuser='root';
+-----------------------+
|host|
+-----------------------+
|%|
|127.0.0.1|
|localhost.localdomain|
+-----------------------+
3rowsinset(0.00sec)
host已经有了%这个值,所以直接运行命令:
mysql>flushprivileges;
再用mysqladministrator连接...成功!
!
!
3、防火墙端口设置
查看3306端口是否打开。
要注意在防火墙中开放该端口
#netstat–atln
打开防火墙
#vi/etc/sysconfig/iptables
在打开文件中参加
-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
重启防火墙
#/etc/rc.d/init.d/iptablesrestart
七、设置开机启动
#cpshare/mysql/mysql.server/etc/rc.d/init.d/mysql//开机自动启动mysql。
(输入完成后一定要检查一下,如果错了就要重新装)
#chmod755/etc/rc.d/init.d/mysql
#chkconfig--addmysql
启动mysql〔下面两个命令都行〕
#servicemysqlstart
#/etc/init.d/mysqlstart(这是另一种启动方式)
附:
遇到问题
(/usr/local/mysql/bin/mysql-uroot-p 提示Enterpassword:
输入密码,回车进入,初始密码为空)
#/etc/init.d/mysqldstop //关闭MySQL
具体步骤:
登陆到mysql
首先usemysql;
按照别人提供的方式update的时候,出现错误。
mysql>updateusersethost='%'whereuser='root';
ERROR1062(23000):
Duplicateentry'%-root'forkey'PRIMARY'
然后查看了下数据库的host信息如下:
mysql>selecthostfromuserwhereuser='root';
+-----------------------+
|host|
+-----------------------+
|%|
|127.0.0.1|
|localhost.localdomain|
+-----------------------+
3rowsinset(0.00sec)
host已经有了%这个值,所以直接运行命令:
mysql>flushprivileges;
再用mysqladministrator连接...成功!
!
!
远程连接时如了出现:
INSERTINTOmysql.user(Host,User,Password)VALUES('%','plain',PASSWORD('123456'));
ERROR1130:
isnotallowedtoconnecttothisMySQLserver
第一重要:
查看Linux防火墙是否关掉;
再来看:
进入Linux
登录Mysql:
首先使用update把mysql.user中的root的host从localhost修改成%:
mysql>UPDATEmysql.userSETHost='%'WHEREHost='localhost';
mysql>GRANTALLPRIVILEGESON*.*TOroot"%";
mysql>FLUSHPRIVILEGES;
再次连接,显示成功。
FailedtogetlocalInetAddressforVMID.Thisisunlikelytomatter.Atall.We'lladdsomeextrarandomness
.UnknownHostException:
p2p-8-41:
p2p-8-41
源码大概是这段:
publicfinalclassC3P0ImplUtils{
try{
dos.write(InetAddress.getLocalHost().getAddress());
}catch(Exception e)
{
if(logger.isLoggable(MLevel.INFO))
logger.log(MLevel.INFO,"FailedtogetlocalInetAddressforVMID.Thisisunlikelytomatter.Atall.We'lladdsomeextrarandomness",e);
dos.write(srand.nextInt());
}
}
....
那么:
p2p-8-41是怎么得来的呢?
[rootp2p-8-41~]# cat/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=p2p-8-41
很明确了吧!
解决方法:
搜索谷歌和XX,整合一些资料:
主要是因为系统没有找到主机名p2p-8-41对应的IP,修改Linux的hosts文件即可。
具体操作步骤如下:
vi/etc/hosts
在行127.0.0.1 localhostlocalhost.localdomain后加上p2p-8-41保存即可。
Linux查找域名时通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。
127.0.0.1 localhost.localdomainlocalhostp2p-8-41
原因分析:
Linux于host相关的几个文件如下:
/etc/host.conf
功能:
指定主机名查找方法,通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。
对于大多数用户不用改动此文件容。
Linux:
/etc/host.conf文件容
orderhosts,bind
multion
/etc/resolv.conf
文件功能:
DNS客户机配置文件,设置DNS服务器的IP地址与DNS域名
相关文件:
/etc/host.conf
文件格式:
domainname域名
search域名
nameserverPrimary_DNS_Server_IP_address
nameserverSecond_DNS_Server_IP_address
其中domainname和search可同时存在,也可只有一个;nameserver可指定多个
/etc/hosts
#/etc/hosts
#文件格式:
IPaddresshostnamealiases
#文件功能:
提供主机名到IP地址的对应关系,建议将自己经常使用的主机
#参加此文件中,也可将没有DNS记录的机器参加到此文件中,
#这样会方便网络应用
127.0.0.1localhostlocalhost.localdomain