自从oracle收购Mysql后,略微发生了一些小小的变化,原来mysql安装完成后默认是没有密码的,但是新版的mysql安装完成后oracle提供了一个free password放着/root/.mysql_secret文件中,下面详细描述一下在redhat6.2上的安装过程
在oracle官网上下载http://www.mysql.com/downloads/对应操作系统的包
下面是网上找的一篇比较全面的安装文档,mysql的安装还是相当简单的,我个人推荐使用rpm包安装方式。
现在在oracle官网上下载的mysql有以下几个rpm包
MySQL-client-advanced
MySQL-devel-advanced
MySQL-embedded-advanced-5.6.14-1.rhel5.x86_64.rpm
MySQL-server-advanced-5.6.14-1.rhel5.x86_64.rpm
MySQL-shared-advanced-5.6.14-1.rhel5.x86_64.rpm
MySQL-shared-compat-advanced-5.6.14-1.rhel5.x86_64.rpm
MySQL-test-advanced-5.6.14-1.rhel5.x86_64.rpm
1、先把系统里安装的所有mysql找出来
#rpm -qa | grep -i mysql 运行此命令后,显示所有列表:
mysqlclient10-3.23.58-4.RHEL4.1
mysqlclient10-devel-3.23.58-4.RHEL4.1
2、将列表一一强制删除:
#rpm -ev --nodeps mysqlclient10-3.23.58-4.RHEL4.1
#rpm -ev --nodeps mysqlclient10-devel-3.23.58-4.RHEL4.1
3、将老版本的几个文件手工删除:
#rm -f /etc/my.cnf
#rm -rf /var/lib/mysql
#rm -rf/var/share/mysql
# rm -rf/usr/bin/mysql*
4.安装下载的版本的mysql,如上,
[root@oracle11 ~]#rpm -ivh MySQL-server-advanced-5.6.14-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-server-advanced ###########################################[100%]
5.安装client
[root@oracle11 ~]#rpm -ivh MySQL-client-advanced-5.6.14-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-client-advanced ###########################################[100%]
说明:不安装mysql-client是不能使用mysql工具登陆到mysql数据库
6.oracle收购Mysql后,新版的mysql刚安装完mysql后不能直接输入mysql登录数据库,而是设置了默认free password密码,默认密码放在了/root/.mysql_secret文件中,登陆后需要修改密码
安装完成后有这么一段话,
A RANDOMPASSWORD HAS BEEN SET FOR THE MySQL root USER !
You willfind that password in '/root/.mysql_secret'.
You must change thatpassword on your first connect,
no other statementbut 'SET PASSWORD' will beaccepted.
See the manual forthe semantics of the 'password expired' flag.
Also, the accountfor the anonymous user has been removed.
In addition, you canrun:
/usr/bin/mysql_secure_installation
which will also giveyou the option of removing the test database.
This is stronglyrecommended for production servers.
See the manual formore instructions.
Please report anyproblems with the /usr/bin/mysqlbug script!
The latestinformation about MySQL is available on the web at
http://www.mysql.com
Support MySQL bybuying support/licenses at http://shop.mysql.com
New default configfile was created as /usr/my.cnf and
will be used bydefault by the server when you start it.
You may edit thisfile to change server settings
7.修改密码
(1)查看文件寻找密码
[root@oracle11 ~]#vi /root/.mysql_secret
# The randompassword set for the root user at Mon Oct 28 11:09:39 2013 (local time): 3eriwUfI
(2)登陆Mysql
[root@oracle11 ~]#mysql -u root -p
Enter password:
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQLconnection id is 3
Server version:5.6.14-enterprise-commercial-advanced
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.
Oracle is aregistered trademark of Oracle Corporation and/or its
affiliates. Othernames may be trademarks of their respective
owners.
Type 'help;' or '\h'for help. Type '\c' to clear the current input statement.
mysql>
(3)修改密码
mysql> setpassword for 'root'@'localhost' = password ('root');
Query OK, 0 rowsaffected (0.05 sec)
当然也可以使用脚本 /usr/bin/mysql_secure_installation进行交互式的修改mysql的root密码,如下:
[root@oracle11 ~]# /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] n
... skipping.
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] n
... skipping.
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] n
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] n
... skipping.
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
Cleaning up...