首页资源分类其它科学普及 > MySQL数据库操作

MySQL数据库操作

已有 445786个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:MySQL

    分    享:

    文档简介

    MySQL数据操作,MySQL数据增删修改查应用;

    文档预览

    通过rpm包安装、配置及卸载mysql的详细过程 用 su - 切换用户,可带环境信息 MySql 安装过程 以 root 用户身份操作 su - 1、 建立组及用户 [root@WebSer]# groupadd mysql [root@WebSer]# useradd -g mysql [root@WebSer]# passwd mysql 2、 安装软件 服务端 MySQL-server-community-5.1.46-1.rhel5 客户端 MySQL-client-community-5.1.46-1.rhel 1) 安装服务端软件 [root@WebSer tools]# rpm -ivh MySQL-server-community-5.1.46-1.rhel5.i386.rpm 2) 检查 Mysql 默认的端口是 3306 是否开启 [root@WebSer tools]#netstat –nat 如没有开启可能是 linux 的服务器火墙关闭了 3306 端口 [root@WebSer tools]# vi /etc/sysconfig/iptables 加入 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存退出 [root@WebSer tools]# service iptables restart Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp00 0.0.0.0:3306 0.0.0.0:* LISTEN 上面显示可以看出 MySQL 服务已经启动。 注:如果Windows 的客户端不能访问linux 的服务器,远程报错:ERROR 2003(HY000):Can't connect to MySQL server on '192.168.0.249' (10065) 是linux 的服务器火墙关闭了3306 端口,解决方法同上。 3) 安装客户端 [root@WebSer tools]# rpm -ivh MySQL- client -community-5.1.46-1.rhel5.i386.rpm 4) 登录 MySQL 登录 MySQL 的命令是 mysql , mysql 的使用语法如下: mysql [-u username] [-h host] [-p[password]] [dbname] username 与 password 分别是 MySQL 的用户名与密码, mysql 的初始管理帐号是 root ,没有密码,注意:这个 root 用户不是 Linux 的系统用户。 MySQL 默认用户是 root ,由于 初始没有密码,第一次进时只需键入 mysql 即可。 [root@test1 local]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.0.16-standard Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 出现了 “mysql>” 提示符,恭喜你,安装成功! 增加了密码后的登录格式如下: mysql -u root -p Enter password: ( 输入密码 ) 其中 -u 后跟的是用户名, -p 要求输入密码,回车后在输入密码处输入密码。 注意:这个 mysql 文件在 /usr/bin 目录下,与后面讲的启动文件 /etc/init.d/mysql 不是一个文件。 5) MySQL 的几个重要目录 MySQL 安装完成后不象 SQL Server 默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于 Linux 的初学者,因为 Linux 本身的目录结构就比较复杂,如果搞不清楚 MySQL 的安装目录那就无从谈起深入学习。 下面就介绍一下这几个目录。 1 、数据库目录 /var/lib/mysql/ 2 、配置文件 /usr/share/mysql ( mysql.server 命令及配置文件) 3 、相关命令 /usr/bin(mysqladmin mysqldump 等命令 ) 4 、启动脚本 /etc/rc.d/init.d/ (启动脚本文件 mysql 的目录) 6) 修改登录密码 MySQL 默认没有密码,安装完毕增加密码的重要性是不言而喻的。 a 、命令 usr/bin/mysqladmin -u root password 'new-password' 格式: mysqladmin -u 用户名 -p 旧密码 password 新密码 b 、例子 例 1 :给 root 加个密码 123456 。 键入以下命令: [root@test1 local]# /usr/bin/mysqladmin -u root password 123456 注:因为开始时 root 没有密码,所以 -p 旧密码一项就可以省略了。 c 、测试是否修改成功 1 )不用密码登录 [root@test1 local]# mysql ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) 显示错误,说明密码已经修改。 2 )用修改后的密码登录 [root@test1 local]# mysql -u root -p Enter password: ( 输入修改后的密码 123456) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 4.0.16-standard Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 成功! 这是通过 mysqladmin 命令修改口令,也可通过修改库来更改口令。 7) 启动与停止 A 、启动 MySQL 安装完成后启动文件 mysql 在 /etc/init.d 目录下,在需要启动时运行下面命令即可。 [root@test1 init.d]# /etc/init.d/mysql start 或 service mysql start B 、停止 /usr/bin/mysqladmin -u root -p shutdown 或 service mysql stop C 、自动启动 1 )察看 mysql 是否在自动启动列表中 [root@test1 local]# /sbin/chkconfig --list 2 )把 MySQL 添加到你系统的启动服务组里面去 [root@test1 local]# /sbin/chkconfig--add mysql 3 )把 MySQL 从启动服务组里面删除。 [root@test1 local]# /sbin/chkconfig --del mysql 8) 更改 MySQL 目录 MySQL 默认的数据文件存储目录为 /var/lib/mysql 。假如要把目录移到 /home/data 下需要进行下面几步: a 、 home 目录下建立 data 目录 cd /home mkdir data b 、把 MySQL 服务进程停掉: mysqladmin -u root -p shutdown c 、把 /var/lib/mysql 整个目录移到 /home/data mv /var/lib/mysql /home/data/ 这样就把 MySQL 的数据文件移动到了 /home/data/mysql 下 d 、找到 my.cnf 配置文件 如果 /etc/ 目录下没有 my.cnf 配置文件,请到 /usr/share/mysql/ 下找到 *.cnf 文件,拷贝其中一个到 /etc/ 并改名为 my.cnf) 中。命令如下: [root@test1 mysql]# cp /usr/share/mysql/my-mediuf e 、编辑 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 = /home/data/mysql/mysql.sock  (加上此行) f 、修改 MySQL 启动脚本 /etc/rc.d/init.d/mysql 最后,需要修改 MySQL 启动脚本 /etc/rc.d/init.d/mysql ,把其中 datadir=/var/lib/mysql 一行中,等号右边的路径改成你现在的实际存放路径: home/data/mysql 。 [root@test1 etc]# vi /etc/rc.d/init.d/mysql #datadir=/var/lib/mysql (注释此行) datadir=/home/data/mysql (加上此行) g 、重新启动 MySQL 服务 /etc/rc.d/init.d/mysql start 或用 reboot 命令重启 Linux 如果工作正常移动就成功了,否则对照前面的 7 步再检查一下。 h 、将 mysql 启动权限赋给 mysql 用户 chown -R mysql:mysql /home/data/mysql 9) 设置 mysql 数据库默认使用 InnoDB 数据引擎 编辑 MySQL 的配置文件 /etc/my.cnf : # The MySQL server [mysqld] default-storage-engine=INNODB innodb_data_home_dir = /home/data/mysql innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /home/data/mysql #Service mysql restart 系统会自动在 /home/data/mysql 下建立 ibdata1 目录 10) 设置数据库默认编码为 utf8 : 编辑 MySQL 的配置文件 /etc/my.cnf : [client] default-character-set = utf8 [mysqld] default-character-set = utf8 #Service mysql restart 11) 添加远程登录权限 格式: grant 权限 on 数据库对象 to 用户 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql> quit 到些 MYSQL 软件全部安装完成。 3、 MySQL 的常用操作 1) 显示数据库 show databases; 2) 进入数据库 use mysql 3) 显示数据库中的表 show tables; 4) 显示数据表的结构: describe 表名 ; 5) 建库: create database 库名 ; 如:CREATE DATABASE tvscs DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 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 命令察看刚建立的表结构。 7) 增加记录 nsert into name values('',' 张三 ',' 男 ','1971-10-01'); 8) 修改纪录 update name set csny='1971-01-10' where xm=' 张三 '; 9) 删库 drop database 库名 ; 10) 删表 drop table 表名; 11) 增加字段 alter table dbname add column < 字段名 $amp;>amp;$lt; 字段选项 > 12) 修改字段 alter table dbname change < 旧字段名 > < 新字段名 $amp;>amp;$lt; 选项 > 13) 删除字段 alter table dbname drop column < 字段名 > 14) 修改表名 15)   4、 增加 MySQL 用户 格式: grant select on 数据库 .* to 用户名 @ 登录主机 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 user_2@localhost identified by "123"; 用新增的用户如果登录不了 MySQL ,在登录时用如下命令: mysql -u user_1 –p -h 192.168.113.50 ( -h 后跟的是要登录主机的 ip 地址) 5、 备份与恢复 1) 备份 例如:将上例创建的 aaa 库备份到文件 back_aaa 中    [root@test1 root]# cd /home/data/mysql ( 进入到库目录,本例库已由 val/lib/mysql 转到 /home/data/mysql ,见上述第七部分内容 ) [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa 2) 恢复 [root@test mysql]# mysql -u root -p ccc < back_aaa 6、 修改 mysql 密码 方法 1 [root@test1 root]# mysql -u root -p # 请输入你的 mysql 密码,默认的这空 Enter password: # 执行如下的语句 mysql>set password for `root`@`localhost`=password("your new password"); 方法 2 mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入 root 的原密码,然后 root 的密码将改为 mypasswd 。 把命令里的 root 改为你的用户名,你就可以改你自己的密码了。 增加用户,授于权限 GRANT ALL PRIVILEGES ON *.* TO primadbadmin@localhost    IDENTIFIED BY 'AU6788aKADG' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO monty@localhost     IDENTIFIED BY ’something’ WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO monty@"%"     IDENTIFIED BY ’something’ WITH GRANT OPTION; 可以用 GRANT 命令 , 格式 ∶ GRANT 权限 ON 库名 . 表名 TO 新用户名 @ 主机名 IDENTIFIED BY ‘ 密码 ‘; 常用 mysql 数据库操作命令总结 7、 卸载 mysql rpm -qa|grep -i mysql rpm -ev MySQL-server-community-5.1.46-1.rhel5 rpm -ev MySQL-client-community-5.1.46-1.rhel5 卸载后 /var/lib/mysql 中的数据及 /etc/my.cnf 不会删除,如果确定没用后就手工删除 rm -f /etc/my.cnf rm -rf /var/lib/mysql rm -rf /usr/bin/mysql* 8、 使用网上介绍的方法修改 root 用户的密码: # mysqladmin -uroot -p password 'newpassword' Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' 现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!): 方法一: # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: < 输入新设的密码 newpassword> mysql>   mysql -u xx -p -h 192.168.1.1 然后输入密码,就 OK 了

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。