1. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称)
yum remove mysql mysql-server mysql-libs
(我用的上面的)
或者
[root@linuxidc ~]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
[root@linuxidc ~]# yum -y remove mysql-libs-5.1*
[root@linuxidc ~]# rpm -qa | grep mysql
[root@linuxidc ~]#
2.下载文件
wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.rhel5.x86_64.rpm wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.rhel5.x86_64.rpm
3.安装
rpm -ivh MySQL-server-5.6.21-1.rhel5.x86_64.rpm rpm -ivh MySQL-client-5.6.21-1.rhel5.x86_64.rpm rpm -ivh MySQL-devel-5.6.21-1.rhel5.x86_64.rpm cp /usr/share/mysql/my-default.cnf /etc/my.cnf
4.初始化MySQL及设置密码
[root@localhost rpm]# /usr/bin/mysql_install_db [root@localhost rpm]# service mysql start [root@localhost rpm]# cat /root/.mysql_secret #查看root账号密码 # The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time):02Bq8Ia6DBV5TvYy [root@localhost ~]# mysql -uroot –p02Bq8Ia6DBV5TvYy mysql> SET PASSWORD = PASSWORD('123456'); #设置密码为123456 mysql> exit [root@localhost ~]# mysql -uroot -p123456 e. 远程登陆用户设置 mysql> use mysql; mysql> select host,user,password from user;
+-------------------------+------+-------------------------------------------+
| host | user | password |
+-------------------------+------+-------------------------------------------+
| localhost | root | *FB7EF50C095F91289A470AE0C02BCBD930E89945 |
| collin | root | *B4B234AB82D46CDE3402413C6B0E440ADE969D52 |
| 127.0.0.1 | root | *B4B234AB82D46CDE3402413C6B0E440ADE969D52 |
| ::1 | root | *B4B234AB82D46CDE3402413C6B0E440ADE969D52 |
+-------------------------+------+-------------------------------------------+
mysql> update user set password=password('123456') where user='root'; mysql> update user set host='%' where user='root' and host='localhost'; mysql> flush privileges; mysql> exit
5.设置开机自启动
[root@localhost ~]# chkconfig mysql on [root@localhost ~]# chkconfig --list | grep mysql mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
创建用户
CREATE USER 'test'@'%' IDENTIFIED BY 'test123';
CREATE USER 'test'@'collin' IDENTIFIED BY 'test123';
CREATE USER 'test'@'::1' IDENTIFIED BY 'test123';
CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY 'test123';
说明:
username - 你将创建的用户名,
host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%.
password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
设置与更改用户密码
命令: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); 如果是当前登陆用户用 SET PASSWORD = PASSWORD("newpassword");
授权
命令: GRANT privileges ON databasename.tablename TO 'username'@'host' 说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等,如果要授予所的权限则使用ALL.; databasename - 数据库名, tablename-表名, 如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 即*.*.
例子: GRANT ALL ON *.* TO 'test'@'%'; 授权所有数据库和表的所有权限给test;
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
撤销用户权限
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 例子: REVOKE SELECT ON *.* FROM 'pig'@'%'; 注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%',
则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.
相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限. 具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
删除用户
命令: DROP USER 'username'@'host';
配置mysql 不区分大小写
Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:
1、用root登录,修改 /etc/my.cnf; 2、在[mysqld]节点下,加入一行:
lower_case_table_names=1 3、重启MySQL即可;
其中 lower_case_table_names=1 参数缺省地在 Windows 中这个选项为 1 ,
在 Unix 中为 0,因此在window中不会遇到的问题,一旦一直到linux就会出问题的原因
MySQL的默认安装位置
/var/lib/mysql/ #数据库目录 /usr/share/mysql #配置文件目录 /usr/bin #相关命令目录 /etc/init.d/mysql #启动脚本