RPM安装步骤
a. 检查是否已安装,grep的-i选项表示匹配时忽略大小写
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸载时使用了--nodeps选项,忽略了依赖关系:
[root@localhost JavaEE]#rpm -emysql-libs-5.1.61-4.el6.x86_64 --nodeps
b. 安装MySQL的服务器端软件,注意切换到root用户:
[root@localhost JavaEE]#rpm -ivh MySQL-server-5.5.29-2.el6.x86_64.rpm
安装完成后,安装进程会在Linux中添加一个mysql组,以及属于mysql组的用户mysql。可通过id命令查看:
[root@localhost JavaEE]#id mysql
uid=496(mysql)gid=493(mysql)groups=493(mysql)
若没有查看到结果,可以手动创建用户(大部分linux都默认就已安装过mysql只是版本不合适,所以一般默认都会有了):
#groupadd mysql
#useradd –g mysql mysql
MySQL服务器安装之后虽然配置了相关文件,但并没有自动启动mysqld服务,需自行启动:
[root@localhost JavaEE]#servicemysql start
Starting MySQL.. SUCCESS!
可通过检查端口是否开启来查看MySQL是否正常启动:
[root@localhost JavaEE]# netstat-anp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 34693/mysqld
c. 安装MySQL的客户端软件:
[root@localhost JavaEE]# rpm -ivhMySQL-client-5.5.29-2.el6.x86_64.rpm
如果安装成功应该可以运行mysql命令,注意必须是mysqld服务以及开启:
[root@localhost JavaEE]# mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 1
Server version: 5.5.29MySQLCommunity Server (GPL)
Copyright (c) 2000, 2012,Oracleand/or its affiliates. All rights reserved.
Oracle is a registeredtrademarkof Oracle Corporation and/or its affiliates. Other names may betrademarks oftheir respective owners.
Type 'help;' or '\h' forhelp.Type '\c' to clear the current input statement.
d. 配置Mysql服务
在第一次启动mysql后,在/var/lib/mysql中会产生mysql必备的一些文件和mysql数据,如下图:
要对mysql进行配置,请到/etc下找到my.cnf.rpmsave这个文件在mysql第一安装时会有的,需要对这个文件进行复制到同目录下改名为my.cnf。之后再重启mysql,这时无法修改权限的,因为/etc/my.cnf 文件中默认有skip-grant-tables配置,将这行注释掉或直接去掉,再重启。
配置权限:
# mysql
> grant all privileges on *.* to'root'@'%' identified by '123456' with grant option;
>flush privileges;
>quit;
配置数据库路径:
# mkdir /home/mysql ## 创建个自定义目录
#chown –R mysql:mysql /home/mysql ## 给这个文件夹赋予mysql用户操作权限
#service mysql stop ## 将mysql关闭再转移吧
#cp –r /var/lib/mysql /home/mysql/data ## 将文件夹整个复制到自定义的位置
# vi /etc/my.cnf ## 编辑mysql配置文件
我本地是把这几个文件都改了,退出保存后,启动mysql,就ok了。
e. 配置开机自启动
# find / -name mysql.server
如果是基于root用户安装的一般会在/usr/share/mysql里,如果是基于mysql用户安装可能会在/usr/local/mysql下,还是查找靠谱,我的是在第一夹里。
#cp /usr/share/mysql/mysql.server/etc/rc.d/init.d/mysql #复制文件或者覆盖文件
后面的这个夹有的系统有rc.d这层,有的可能没有,最好事先去找下,目的是开启自启动。
# chmod +x /etc/rc.d/init.d/mysql ## 赋予可执行权限
# chkconfig –list # 查看是否已存在服务列表中,如果找到说明已有啦,若没有执行下面命令添加
# chkconfig –add mysql # 添加服务
服务中已有后,查看是否已启动,通过显示服务列表命令看3,4,5的值为启动或者on说明是开机自启动的,若不是需要执行下列命令设置。
# chkconfig –level 345 msyql on # 设置开机自启动。
可以重启尝试一下喽。
问题:安装时提示依赖库没有安装
原因:有些操作系统安装时没有导入所有的包,会提示缺少依赖包。
解决:那就找到对应版本的shared,如MySQL-shared-5.5.41-1.rhel5.x86_64.rpm,先安装这个包。
问题:提示Starting MySQL.The server quit withoutupdating PID file (/[FAILED]a/e.nsi.pid).
原因:没有初始化权限表
解决:
[root@localhostmysql]# chown -R mysql.mysql . —— 这个在哪里都可以执行
[root@localhost mysql]# su - mysql
[mysql@localhost ~]$ cd /usr/local/mysql
bash-3.2$ ./mysql_install_db —— 这个文件不到安装到哪里了可以找下
问题:mysql登录错误
mysqladmin: connect to server at'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
无法修改密码
用
# /etc/init.d/mysql stop
# mysqld_safe --skip-grant-tables &
直接输入 mysql-uroot -p 回车进入
>use mysql;
> update user set password=PASSWORD("123456") whereuser="root";
> flush privileges; 更新权限
> quit 退出
[root@localhostJavaEE]# /etc/init.d/mysql start
[root@localhost JavaEE]# mysql -uroot -p新密码进入
问题:登录后还出现:You must SET PASSWORD before executing thisstatement这个问题
解决方式:mysql>SET PASSWORD = PASSWORD('123456');
问题:其他机器无法访问
解决方式:mysql> grant all privileges on *.* to 'root'@'%' identified by'123456' with grant option;
问题:其他机器仍无法访问
解决方式:
# /etc/init.d/iptables status —— 查看防火墙状态
# service iptables stop —— 关闭防火墙,这个是临时的
# chkconfig iptables off —— 关闭防火墙,重启后仍然关闭-执行这个前先执行serviceiptables stop