目前CentOS/Red Hat (RHEL) 6.2官方自带的mysql版本为5.1,mysql5.5已经出来了。
相比mysql5.1,mysql5.5不仅在多个方面进行了改进:
- 性能上有了很大提升
- 默认存储引擎更改为InnoDB
- CPU多核处理性能提升
- 复制功能加强,新增半同步复制
- 增强表分区功能
- 等等
本文将指导你如何在CentOS/Red Hat (RHEL) 6.2及Fedora 17/16下安装最新版本的社区版本mysql。
如果您要升级mysql,请先备份好你的数据及配置文件再行升级。
让我们开始动手吧。
step1. 切换到root用户
- su -
- ## OR ##
- sudo -i
step2. 安装remi软件源
Fedora平台
- ## Remi Dependency on Fedora 17, 16, 15
- rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
- rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
- ## Fedora 17 ##
- rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm
- ## Fedora 16 ##
- rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm
- ## Fedora 15 ##
- rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm
- ## Fedora 14 ##
- rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm
- ## Fedora 13 ##
- rpm -Uvh http://rpms.famillecollet.com/remi-release-13.rpm
- ## Fedora 12 ##
- rpm -Uvh http://rpms.famillecollet.com/remi-release-12.rpm
CentOS及Red Hat (RHEL)平台
- ## Remi Dependency on CentOS 6 and Red Hat (RHEL) 6 ##
- rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
- ## CentOS 6 and Red Hat (RHEL) 6 ##
- rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
- ## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ##
- rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
- ## CentOS 5 and Red Hat (RHEL) 5 ##
- rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
step3. 查看MySQL版本号
Fedora 17, 16, 15, 14, 13, 12
- yum --enablerepo=remi list mysql mysql-server
CentOS 6.2/6.1/6/5.8 and Red Hat (RHEL) 6.2/6.1/6/5.8 输出:
- yum --enablerepo=remi,remi-test list mysql mysql-server
- Loaded plugins: changelog, fastestmirror, presto, refresh-packagekit
- ...
- remi | 3.0 kB 00:00
- remi/primary_db | 106 kB 00:00
- Available Packages
- mysql.i686 5.5.25-1.fc14.remi @remi
- mysql-server.i686 5.5.25-1.fc14.remi
step4. 安装或升级到MySQL5.5.25 Fedora 17, 16, 15, 14, 13, 12
- yum --enablerepo=remi install mysql mysql-server
- yum --enablerepo=remi,remi-test install mysql mysql-server
step5. 开启mysql服务并配置自启动 Fedora 17/16
- systemctl start mysqld.service
- systemctl enable mysqld.service
Fedora 15/14/13/12/11, CentOS 6.2/6.1/6/5.8 and Red Hat (RHEL) 6.2/6.1/6/5.8
- /etc/init.d/mysqld start
- ## OR ##
- service mysqld start
- chkconfig --levels 235 mysqld on
step6. MySQL 安全设置
- 设置(修改)root密码
- 删除匿名用户
- 禁用root远程登录
- 删除测试数据库test
- 重载权限表
- /usr/bin/mysql_secure_installation
输出
- NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
- SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
- In order to log into MySQL to secure it, we\'ll need the current
- password for the root user. If you\'ve just installed MySQL, and
- you haven\'t set the root password yet, the password will be blank,
- so you should just press enter here.
- Enter current password for root (enter for none):
- OK, successfully used password, moving on...
- Setting the root password ensures that nobody can log into the MySQL
- root user without the proper authorisation.
- Set root password? [Y/n] Y
- New password:
- Re-enter new password:
- Password updated successfully!
- Reloading privilege tables..
- ... Success!
- By default, a MySQL installation has an anonymous user, allowing anyone
- to log into MySQL without having to have a user account created for
- them. This is intended only for testing, and to make the installation
- go a bit smoother. You should remove them before moving into a
- production environment.
- Remove anonymous users? [Y/n] Y
- ... Success!
- Normally, root should only be allowed to connect from 'localhost'. This
- ensures that someone cannot guess at the root password from the network.
- Disallow root login remotely? [Y/n] Y
- ... Success!
- By default, MySQL comes with a database named 'test' that anyone can
- access. This is also intended only for testing, and should be removed
- before moving into a production environment.
- Remove test database and access to it? [Y/n] Y
- - Dropping test database...
- ... Success!
- - Removing privileges on test database...
- ... Success!
- Reloading the privilege tables will ensure that all changes made so far
- will take effect immediately.
- Reload privilege tables now? [Y/n] Y
- ... Success!
- Cleaning up...
- All done! If you\'ve completed all of the above steps, your MySQL
- installation should now be secure.
- Thanks for using MySQL!
【注】:如果您不想启动MySQL 安全设置命令,但至少也得修改一下root用户密码
- mysqladmin -u root password [your_password_here]
- ## 示例##
- mysqladmin -u root password myownsecrectpass
step7. 使用密码连接本地数据库
- mysql -u root -p
- ## OR ##
- mysql -h localhost -u root -p
step8. 为指定数据库,指定用户配置指定客户端(IP)远程访问
本示例的配置参数如下
- DB_NAME = webdb
- USER_NAME = webdb_user
- REMOTE_IP = 10.0.15.25
- PASSWORD = password123
- PERMISSIONS = ALL
1. 创建数据库 webdb 2. 创建用户webdb_user 3. 授权 4. 重载权限表
- mysql> CREATE DATABASE webdb;
- mysql> CREATE USER 'webdb_user'@'10.0.15.25' IDENTIFIED BY 'password123';
- mysql> GRANT ALL ON webdb.* TO webdb_user@'10.0.15.25';
- mysql> FLUSH PRIVILEGES;
step9. 配置防火墙开启3306端口
1. 修改/etc/sysconfig/iptables 文件: 2. 在COMMIT之前加入以下内容: 3. 重启Iptables: 4. 在客户机上测试远程访问数据库:
- vi /etc/sysconfig/iptables
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
- service iptables restart
- ## OR ##
- /etc/init.d/iptables restart
- mysql -h dbserver_name_or_ip_address -u webdb_user -p webdb
******************************************** * 作者:叶文涛 * 链接:
* 源文: ******************转载请注明来源 ***************