阿里云centos中mysql的安装及一些常识知识
-------------------------------------------------------------------
阿里云centos中mysql的安装
工具WinSCP v5.7.0可以从windows上传文件到linux上
工具putty可以再windows上连接linux,用命令行操作很方便
将mysql以下三个包下载并上传到linux上,例如:/root/software
MySQL-server-5.5.28-1.linux2.6.x86_64.rpm
MySQL-client-5.5.28-1.linux2.6.x86_64.rpm
MySQL-devel-5.5.28-1.linux2.6.x86_64.rpm
进入/root/software安装
先使用yum命令快速安装依赖包libaio,运行如下命令:
yum install libaio
安装mysql服务器
rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm
安装mysql客户端
rpm -ivh MySQL-client-5.5.28-1.linux2.6.x86_64.rpm
安装mysql开发依赖包
rpm -ivh MySQL-devel-5.5.28-1.linux2.6.x86_64.rpm
若想查看MySQL安装到哪个目录,可使用“whereis mysql”命令查看,结果如下
[root@AY130221101729bc93912 mysql]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
查看mysql运行状态
service mysql status
启动mysql
service mysql start
关闭mysql
service mysql stop
重新启动mysql
service mysql restart
-------------------------------------------------------------------
登陆mysql
Mysql刚刚安装完成,密码是空的,直接回车可以登录
用户默认是有的,即:root
设置mysql的密码命令如下:
方法一:在linux的shell中使用mysqladmin来设置:
shell> mysqladmin -u root -h host_name password "newpwd"password后面的双引号不是必须的,不过如果密码包含空格或者一些特殊的符号,需要用引号。
方法二:进入mysql中(必须),再执行设置密码操作
mysql> SET PASSWORD FOR ‘root‘@‘host_name‘ = PASSWORD(‘newpwd‘);
方法三:进入mysql中,修改数据库mysql中的user表的数据字段
update mysql.user set password = PASSWORD("newpwd") where user = "root" and host = "host_name" ;
最后:
FLUSH PRIVILEGES;
刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。-
设置完成之后,再登陆root用户就需要使用用户名和密码登陆了
-------------------------------------------------------------------
将mysql加入开机启动
首先命令查看开机启动列表中是否有mysql(也可能叫mysqld....)
chkconfig --list
如果有,查看mysql的编号为2、3、4、5的状态是否为on,如果不是,就执行命令:
chkconfig mysql on
如果想反操作就执行:
chkconfig mysql off
其他的服务也可以这样操作加入启动项,例如:iptables ...
-------------------------------------------------------------------
本地客户端不允许链接远程mysql的问题:
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
先使用putty工具连接到远程的linux上,再登陆到mysql
mysql -u root -p
输入密码完成登陆
use mysql ;
update user set host = ‘%‘ where user = ‘root‘ ;
可能报错:
ERROR 1062 (23000): Duplicate entry ‘%-root‘ for key ‘PRIMARY‘
再检查
select host from user where user = ‘root‘;
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
发现host已经有了%这个值,所以直接运行命令:
mysql>flush privileges;
再用mysql administrator连接...成功!!!
-------------------------------------------------------------------
使用root用户创建一个数据库交个一个新用户(默认情况下把远程访问的权限也打开了的)
创建数据库:
create database db_test ;
创建一个用户、访问host和密码
create user user_test@‘localhost‘ identified by ‘888888‘ ;
修改该用户密码
SET PASSWORD FOR ‘user_test‘@‘localhost‘=PASSWORD(‘000000‘); 后面这个PASSWORD()其实是一个加密函数
将创建好的数据库所有权限交个该用户
grant all privileges on db_test.* to user_test
删除一个用户
先root登陆,查看mysql中的user表
查看该表中的用户情况:
select host , user from user ;
要删除上面的user_test用户,直接执行删除用户的语句即可:
delete from user where user = ‘user_test‘ ;
最后刷新一下权限:
flush privileges ;
-------------------------------------------------------------------
linux下彻底卸载mysql
1、查找以前是否装有mysql
命令:rpm -qa|grep -i mysql
2、停止mysql服务、删除之前安装的mysql
rpm -ev MySQL-client-*
rpm -ev MySQL-server-*
rpm -ev MySQL-devel-*
3、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
查找结果如下:
[root@localhost ~]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
删除对应的mysql目录
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
4、再次查找机器是否安装mysql
rpm -qa|grep -i mysql
无结果,说明已经卸载彻底、接下来直接安装mysql即可
-------------------------------------------------------------------
Windows忘记root密码怎么办
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\bin目录。
3.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。
注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5.输入mysql回车,如果成功,将出现MySQL提示符 > www.2cto.com
6. 连接权限数据库>use mysql; (>是本来就有的提示符,别忘了最后的分号)
6.改密码:> update user set password=password("123456") where user="root"; (别忘了最后的分号)
7.刷新权限(必须的步骤)>flush privileges;
8.退出 > \q
9.注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。