MYSQL RPM包安装

页面导航:首页 > 数据库 > Mysql > MYSQL RPM包安装

MYSQL RPM包安装

来源: 作者: 时间:2016-02-21 09:46 【

MYSQL RPM包安装mysql Oracle官方下载 类型特多 看起来很让人头痛 我们选择Download MySQL Community Serverhttp://dev.mysql.com/downloads/mysql/在这个下载网站 选择平台是ORACL RED HAT LIUNX ...
MYSQL RPM包安装
 
mysql Oracle官方 类型特多 看起来很让人头痛  我们选择
Download MySQL Community Server
http://dev.mysql.com/downloads/mysql/
在这个下载网站 选择平台是ORACL& RED HAT LIUNX 5
选择安装包 MySQL-5.6.12-1.linux_glibc2.5.x86_64.rpm-bundle 303M
在windows下 解压它  把其中含有 SERVER和CLIENT  单词的两个文件 传到linux 里去
我传到/home 目录下  然后   root用户下  rpm -ivh  mysql-service-5.6.12-.......rpm
两个包安装很顺利。
启动的时候报错了 
mysql -u root
error 1045(28000):access denied for user 'root'@'localthost'(using password:NO)
 
[[email protected]] /usr/bin/mysqld_safe --usr=mysql --skip-grant-tables --skip-networking&
 
开启第二个终端
 
 
[[email protected]] /usr/bin/mysql -u root mysql
@_@ 终于登进去了
 
mysql> update user set password=password('yourword') where user='root';
mysql> flush PRIVILEGES;
mysql> quit
 
[[email protected]] service mysql restart
 
[[email protected]] /usr/bin/mysql -uroot -p
成功进去了
 
目录
 
1、目录
   /var/lib/mysql/
2、配置文件
    /usr/share/mysql   (mysql.server命令及配置文件)
3、相关命令
   /usr/bin   (mysqladmin mysqldump等命令)
4、启动脚本
   /etc/rc.d/init.d/   (启动脚本文件mysql的目录)
 
七、更改MySQL目录 
 
   MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步: 
 
   1、opt目录下建立data目录 
   cd /opt 
   mkdir mysql_rpm_5612/data/
 
   2、把MySQL服务进程停掉: 
   mysqladmin -u root -p shutdown 
 
   3、把/var/lib/mysql整个目录移到/opt/mysql_rpm_5612/data/
   mv /var/lib/mysql /opt/mysql_rpm_5612/data/
   这样就把MySQL的数据文件移动到了/home/data/mysql下 
 
   4、找到my.cnf配置文件 
   如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: 
   [[email protected] mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 
 
   5、编辑MySQL的配置文件/etc/my.cnf 
   为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下: 
   vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之) 
   # The MySQL server 
    [mysqld] 
    port   = 3306 
    #socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) 
    socket  = /opt/mysql_rpm_5612/data//mysql/mysql.sock   (加上此行) 
 
   6、修改MySQL启动脚本/etc/rc.d/init.d/mysql 
   最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。 
   [[email protected] etc]# vi /etc/rc.d/init.d/mysql 
   #datadir=/var/lib/mysql    (注释此行) 
   datadir=/opt/mysql_rpm_5612/data//mysql   (加上此行) 
 
   7、重新启动MySQL服务 
   /etc/rc.d/init.d/mysql start 
   或用reboot命令重启Linux 
   如果工作正常移动就成功了,否则对照前面的7步再检查一下
 
 
然后该目录下看localhost.localdomain.err
发现: Can't start server:Bind on unix socket:Permission denied
Do you alread have another mysqld server running on socket:/opt/mysql_rpm_5612/data/mysql.sock ?
醒悟到/etc/my.cnf 写错了。
 
server mysl start 
ok
 
mysql -u  root -p
enter password:
Error 2002(HY000):can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock(2)'
 
mysql -u root -p  是客户段软件包
因此在/etc/my.cnf 增加
[client]
socket = /opt/mysql_rpm_5612/data//mysql/mysql.sock 
 
再次登录:
mysql -u  root -p
enter password:
Ok
mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.。如下操作后就ok了:
 
> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql>  SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database yan1;
Query OK, 1 row affected (0.00 sec)
也就是用mysql>  SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!大爷的,真费劲啊。
这位仁兄也遇到了相同的问题。
mysql> show databases;
、显示数据库 
   mysql> show databases; 
   +----------+ 
   | Database | 
   +----------+ 
   | mysql  | 
   | test   | 
   +----------+ 
   2 rows in set (0.04 sec) 
   Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。 
 
   2、显示数据库中的表 
   mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro ) 
   Database changed 
 
   mysql> show tables; 
   +-----------------+ 
   | Tables_in_mysql | 
   +-----------------+ 
   | columns_priv  | 
   | db       | 
   | func      | 
   | host      | 
   | tables_priv   | 
   | user      | 
   +-----------------+ 
   6 rows in set (0.01 sec) 
 
   3、显示数据表的结构: 
   describe 表名; 
 
   4、显示表中的记录: 
   select * from 表名; 
   例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。 
   Select * from user; 
 
   5、建库: 
   create database 库名; 
   例如:创建一个名字位aaa的库 
   mysql> create databases aaa; 
6、建表: 
   use 库名; 
   create table 表名 (字段设定列表); 
   例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段 
   use aaa; 
   mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date); 
   可以用describe命令察看刚建立的表结构。 
   mysql> describe name; 
 
   +-------+---------+------+-----+---------+----------------+ 
   | Field | Type  | Null | Key | Default | Extra     | 
   +-------+---------+------+-----+---------+----------------+ 
   | id  | int(3) |   | PRI | NULL  | auto_increment | 
   | xm  | char(8) | YES |   | NULL  |        | 
   | xb  | char(2) | YES |   | NULL  |        | 
   | csny | date  | YES |   | NULL  |        | 
   +-------+---------+------+-----+---------+----------------+ 
 
   7、增加记录 
   例如:增加几条相关纪录。 
   mysql> insert into name values('','张三','男','1971-10-01'); 
   mysql> insert into name values('','白云','女','1972-05-20'); 
   可用select命令来验证结果。 
   mysql> select * from name; 
   +----+------+------+------------+ 
   | id | xm  | xb  | csny    | 
   +----+------+------+------------+ 
   | 1 | 张三 | 男  | 1971-10-01 | 
   | 2 | 白云 | 女  | 1972-05-20 | 
   +----+------+------+------------+ 
 
   8、修改纪录 
   例如:将张三的出生年月改为1971-01-10 
   mysql> update name set csny='1971-01-10' where xm='张三'; 
 
   9、删除纪录 
   例如:删除张三的纪录。 
   mysql> delete from name where xm='张三'; 
 
   10、删库和删表 
   drop database 库名; 
   drop table 表名; 
 
   九、增加MySQL用户 
 
   格式:grant select on 数据库.* to [email protected] identified by "密码" 
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令: 
 
   mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123"; 
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。 
 
  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。 
 
   mysql>grant select,insert,update,delete on aaa.* to [email protected] identified by "123"; 
 
   用新增的用户如果登录不了MySQL,在登录时用如下命令: 
 
   mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址) 
 
   十、备份与恢复 
 
   1、备份 
 
   例如:将上例创建的aaa库备份到文件back_aaa中 
 
   [[email protected] root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容) 
   [[email protected] mysql]# mysqldump -u root -p --opt aaa > back_aaa 
 
   2、恢复 
 
   [[email protected] mysql]# mysql -u root -p ccc < back_aaa 
 
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<