Linux系统安装MySQL

来源:互联网 发布:知乎app界面分析 编辑:程序博客网 时间:2024/06/06 19:56

1.下载MySQL

在MySQL官网:http://dev.mysql.com/downloads/mysql#downloads,下载对应版本的MySQL,如MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar,解压该文件:
tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar

会得到7个rpm安装包:
  1. MySQL客户端程序:MySQL-client-5.6.24-1.linux_glibc2.5.x86_64.rpm
  2. MySQL的库和头文件:MySQL-devel-5.6.24-1.linux_glibc2.5.x86_64.rpm
  3. MySQL的嵌入式程序:MySQL-embedded-5.6.24-1.linux_glibc2.5.x86_64.rpm
  4. MySQL服务端程序:MySQL-server-5.6.24-1.linux_glibc2.5.x86_64.rpm
  5. MySQL共享库:MySQL-shared-5.6.24-1.linux_glibc2.5.x86_64.rpm
  6. MySQL的RHEL兼容包:MySQL-shared-compat-5.6.24-1.linux_glibc2.5.x86_64.rpm
  7. MySQL的测试组件:MySQL-test-5.6.24-1.linux_glibc2.5.x86_64.rpm

2.先卸载老版本

1.删除MySQL的lib库和服务文件:
yum remove mysql mysql-server mysql-client

或者用命令:
rpm -ev MySQL-client-5.5.8-l.linux2.6 MySQL-server-5.5.8-l.linux2.6

注意:卸载后/var/lib/mysql中的数据和/etc/my.cnf可能不会删除,如果存在,就执行删除:
rm -rf /var/lib/mysqlrm -f /etc/my.cnf

查看是否还有MySQL文件:
rpm -qa | grep -i mysql

有的话继续删除。如:
rpm -e mysql-libs-5.5.8- -3.el6_5.x86_64 --nodeps

注意:--nodeps指忽略依赖关系。
检查是否删除干净:
find / -name *mysql*

如果还有文件,删除所有mysql相关文件,执行:
find / -name *mysql* -exec rm -rf {} \;

检查是否有mysql的用户和组(一般不用管):
nl /etc/group | grep mysqlnl /etc/shadow | grep mysql

3.安装

一般开发,只需要以下三个安装包:
 MySQL-client-5.6.24-1.linux_glibc2.5.x86_64.rpm
 MySQL-devel-5.6.24-1.linux_glibc2.5.x86_64.rpm
 MySQL-server-5.6.24-1.linux_glibc2.5.x86_64.rpm

然后,安装三个安装包:
rpm -ivh MySQL-server-5.6.24-1.linux_glibc2.5.x86_64.rpmrpm -ivh MySQL-devel-5.6.24-1.linux_glibc2.5.x86_64.rpmrpm -ivh MySQL-client-5.6.24-1.linux_glibc2.5.x86_64.rpm

4.初始登录

启动mysql服务:
service mysql start

刚安装完,mysql默认用户名是root,密码为空。设置新密码:
mysqladmin -u root password 'admin'

登录mysql:
mysql -u root -p

5.问题

在安装完MySQL之后可能无法登录,即初始密码随机(在文件/root/.mysql_secret,安装server时有提示)不为空,解决方法:
1.先关闭MySQL服务器:
/etc/rc.d/init.d/mysql stop

2. 使用mysqld_safe命令在启动mysql,更新root账号的密码:
执行命令:
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

--skip-grant-tables:不启动grant-tables(授权表),跳过权限控制。
--skip-networking :跳过TCP/IP协议,只在本机访问(从网上有些资料看,这个选项不是必须的。可以不用)
注意:执行上述命令之后,需要用【Ctrl+C】强制中断命令。
更新root账号的密码:
mysql -u root mysql

执行命令:
mysql> UPDATE user SET Password=PASSWORD('admin') where USER='root';

然后执行命令:
mysql> flush privileges;

新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
3.退出mysql,重新登录
重启MySQL服务:
/etc/rc.d/init.d/mysql restart

登录MySQL:
mysql -u root -p

然后执行MySQL脚本命令,会遇到错误:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

此时,可以使用重新设置一次密码即可解决问题:
SET password = PASSWORD('admin');



参考文献:

http://www.cnblogs.com/candle806/archive/2011/01/18/1938381.html
http://blog.csdn.net/superchanon/article/details/8546254/
http://www.cnblogs.com/kerrycode/p/3861719.html(针对第五步)






0 0
原创粉丝点击