rhel6.1平台下怎么使用rpm方式安装MySQL 本篇文档介绍了,怎么安装集群环境的mysql,其中包括怎么开启用户远程连接mysql的权限,与mysql
rhel6.1平台下如何使用rpm方式安装MySQL
本篇文档介绍了,如何安装集群环境的mysql,其中包括如何开启用户远程连接mysql的权限,与mysql的乱码问题,
对于数据库基本操作,这里不会介绍.如果基础操作不会的话估计也不会选择看这篇文档
根据个人的操作系统环境下载对应平台的MySQL rpm包,只有这样才能得到更好的性能和发挥出最大优势。
一、安装篇
先准备安装,以下包均是从mysql官网down下来的,如果没有包可以去官网down:
MySQL-server-5.5.19-1.el6.i686.rpm(Server 数据库)
MySQL-client-5.5.19-1.el6.i686.rpm(Client 客户端)
MySQL-shared-5.5.19-1.el6.i686.rpm(Shared libraries 共享库)
MySQL-shared-compat-5.5.19-1.el6.i686.rpm(兼容共享库)
在安装之前一定要把自带的一些mysql包干掉,否则在安装的时候会出现包冲突的问题
#cd /
#yum remove mysql*
我通过ssh将包全部放置在/tmp/MysqlSoftware中,先进去包安置目录
#cd /tmp/MysqlSoftware
将共享库包先安装好
#rpm -ivh MySQL-shared-*
接下来有个问题就是依赖包的问题,在安装MySQL-client-5.5.8-1.linux2.6.i386.rpm根据提示得到需要安装 libaoio 与perl 这个两个包才能够安装
而perl 这个包还需要依赖其他的包. 还好 我都将这些包down下来了 可以直接安装 如果没有的话可以找找 很容易找.
这些包我分别放在/tmp/MysqlSoftware中/libaoio 与 /tmp/MysqlSoftware中/perl目录里....OK,依赖安装好之后可以开始安装MySQL了
#rpm -ivh MySQL-client-5.5.8-1.linux2.6.i386.rpm
在安装MySQL-server这个包的时候好像又出现了包冲突的问题,真郁闷...还好 再运行下面两行命令再安装就行了
#cd /
#yum remove mysql*
ok,回到包的所在目录,继续安装
#rpm -ivh MySQL-server-5.5.8-1.linux2.6.i386.rpm
按照上面的步骤下来,应该安装成功了.
接下来启动mysql服务有两种方法
#/etc/init.d/mysql start 启动
#/etc/init.d/mysql stop 关闭
#/etc/init.d/mysql restart 重启
或者
#service mysql start 启动
#service mysql stop 关闭
#service mysql restart 重启
启动服务,刚创建的服务器root帐号是没有密码的可以通过命令修改,语法如下:
mysqladmin -u 帐号 -p 原始密码 password 新密码
#mysqladmin -uroot password 新密码 因为刚创建的数据库是没有密码的所以不用输入密码
#mysql -h localhost -u root -p 密码
ok!如果进去了 将表示安装成功
安装完毕后,在默认情况下处理高并发有点吃力,为此mysql提供了5个档次的配置文件.在以下配置文件中根据并发量大小进行选择:
my-small.cnf my-medium.cnf my-large.cnf my-hugecnf.cnf
例如,如果运行mysql的服务器内存不多,而且mysql只是偶尔使用,那么使用my-small.cnf配置文件是比较好的选择,
因为这个配置文件将会告诉mysqld daemon使用最少的系统资源,反之,如果mysql服务器用于支持一个大规模的在线商场,系统
用有2GB以上的内存,那么使用my-hugecnf.cnf最合适.我这里选择的是my-hugecnf.cnf....执行以下命令将配置文件放置在etc目录下
#cp /usr/share/mysql/my-hugecnf.cnf /etc/my.cnf //注意,放在etc目录下的配置文件一定要修改成 my.cnf
ok......重启mysql服务后 配置生效.
到此配置mysql服务器已经结束....配置网络远程服务往下看.
配置完成后,如果有必要可以关注我下一篇,搭建主从结构与数据读写分离的mysql集群...
主从结构的mysql集群有两个好处,尤其对于我现在关注的安全问题,在服务器故障,甚至挂掉了出现数据丢失的情况如何保证数据安全
包括数据库性能方面,使用主从结构集群是一个比较流行也不错的选择. 介绍到此为止....
二、网络远程服务
如果想要使用远程连接,那么第一点肯定是需要开通防火墙的,mysql默认端口是3306,这里就不将怎么开启了
无法使用root远程连接是一个问题,一开始猜想估计是用户远程连接的权限问题,不出所料,果然...接下来讲解如何开启用户远程连接的权限:
在安装MySql后只有一个超级管理权限的用户ROOT,而且ROOT限制只能在数据库本机上使 用,如果我们要远程管理MySql咋办呢?那么事实上我们需要添加一个具有超级管理权限并且可能远程访问的超级用户,而在MySql中有两种方法可以实现 这个目的,我们以增加一个超级权限管理用户 admin为例来说明。
你可以通过发出GRANT语句增加新用户:首先在数据库本机上用ROOT用户登录上MySql),然后:
mysql>grant all privileges on *.* to admin@localhost identified by 'admin' with grant option;
mysql>grant all privileges on *.* to admin@'%' identified by 'admin' with grant option;
第一句增加了一个admin用户授权通过本地机(localhost)访问,密码“something”。第二句则是授与admin用户从任何其它主机发起的访问(通配符%)。
你也可以直接通过发出INSERT语句增加同样的用户存取信息:
mysql>INSERT INTO user VALUES(‘localhost’,'admin’,PASSWORD(‘admin’), ‘Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’)
mysql>INSERT INTO user VALUES(‘%’,'admin’,PASSWORD(‘admin’), ‘Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’)
记得Mysql服务需要重新启动(确保修改有效),否则可能修改的结果无法体现。
----------------------------------------乱码篇------------------------------------------------------------------
mysql安装之后有个不是问题的问题....乱码
其实这问题说大也不大,毕竟可以通过创建数据库的时候指定编码.不过每次都需要去指定确实有点烦恼.所以这里给出了默认修改编码的方法
在/etc.my.cnf里面添加以下参数在 [mysqld] 里面..注意喔,这个办法只在5.5之后的版本有效
character-set-server=utf8
---------------------------------------bug篇外篇-----------------------------------------------------------------
BUG解决,错误提示:1045 access denied for user 'root'@'localhost' using password yes
前几天都好好的,昨天没弄,结果今天晚上过来提示上面的这个错误,重启mysql还是不可以
网上的方法看了几个但是不知道怎么弄
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>