文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql日常操作

mysql日常操作

时间:2010-09-06  来源:kennychang05

MySQL的初始管理账号是root,没有密码。(注意:这个root用户不是Linux的系统用户)。MySQL默认用户是root,由于初始没有密码,第一次进入时只需输入mysql即可。   1、修改MySQL root密码 /usr/local/mysql/bin/mysqladmin -u root password 'password' 其中不包括引号''!!   2、启动与停止 /etc/init.d/mysqld start|stop|restart service mysqld start|stop|restart /usr/local/mysql/bin/mysqladmin -uroot -p shutdown   3、登录MySQL 登录MySQL的命令是mysql,mysql的使用语法如下: mysql [-u username] [-h host] [-p password] [dbname]   /usr/local/mysql/bin/mysql -u root -p Enter password:(输入密码)   4、用户管理 4.1增加用户 格式: 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地址)   4.2修改密码 /usr/local/mysql/bin/mysqladmin -u root -p'old-password' password 'new-password' 格式:mysqladmi -u 用户名 -p旧密码 password 新密码 注,密码都不包括引号''   例一、给root改密码 /usr/local/mysql/bin/mysqladmin -uroot -p123456 password 123 如果是初始化时root密码为空,那-p旧密码一项可以省略。   4.3.1 mysql常用操作 注意: MySQL中每个命令后都要以分号(;)结尾。 1、显示数据库 mysql>show databases; 2、显示数据库中的表 mysql>use mysql;(打开库) mysql>show tables; 3、显示数据表的结构 mysql>desc 表名;            (desc是describe简写) 4、显示表中的记录 mysql>select * from 表名; 5、建库 mysql>create database 库名; 6、建表 mysql>use 库名; mysql>create table 表名(字段设定列表); 7、删库和删表 drop database 库名; drop table 表名;   4.3.2 备份与恢复 1、备份 例如,将aaa库备份到文件back_aaa中 shell>cd /var/lib/mysql shell>mysqldump -u root -p --opt   aaa > back_aaa 2、恢复 mysql -u root -p ccc < back_aaa   4.3.3 更改MySQL目录 MySQL默认的数据文件存储目录为/var/lib/mysql.假如要把目录移到/home/data下需要进行下面几步: (1)在home目录下建立data目录: cd /home mkdir data (2)把MySQL服务进程停掉: mysqladmin -uroot -p shutdown (3)把/var/lib/mysql整个目录移到/home/data: mv /var/lib/mysql /home/data/ (4)编辑/etc/my.cnf配置文件,为了保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为/home/data/mysql/mysql.sock.操作如下: vi /etc/my.cnf #The MySQL server [mysqld] port=3306 #socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) socket=/home/data/mysql/mysql.sock(加上此行) (5)修改MySQL启动脚本/etc/rc.d/init.d/mysql ,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径/home/data/mysql; vi /etc/rc.d/init.d/mysql #datadir=/var/lib/mysql(注释此行) datadir=/home/data/mysql(加上此行) (6)重新启动MySQL服务: /etc/rc.d/init.d/mysql start   注意:更改MySQL数据目录还有一个更好更简便的方法,就是使用符号链接,操作如下, (1)首先停止MySQL,将/var/lib/mysql数据目录移动到新目录下, /etc/rc.d/init.d/mysql stop mv /var/lib/mysql /home/data/ (2)建立符号链接 ln -s /home/data/mysql /var/lib/mysql (3)启动MySQL即可 /etc/rc.d/init.d/mysql start     一些mysql使用技巧: (1)mysql查看所有用户 mysql>select user,host,password from mysql.user; 注意,mysql的各种信息都可以从"mysql"系统库中得到。   (2)status查看数据库状态信息  

 mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.1.49, for portbld-freebsd8.1 (i386) using  5.2

Connection id:          38
Current database:       gamedb
Current user:           root@localhost
SSL:                    Not in use
Current pager:          more
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.50-log FreeBSD port: mysql-server-5.1.50
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    utf8
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 1 day 11 hours 46 min 52 sec

Threads: 2  Questions: 319  Slow queries: 0  Opens: 44  Flush tables: 1  Open tables: 13  Queries per second avg: 0.2

(3)set改变变量的值

 mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | latin1                           |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                           |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.01 sec)

mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                           |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)

(4)查看mysql datadir的另类方法  
 mysql> show variables like 'datadir%';
+---------------+----------------+
| Variable_name | Value          |
+---------------+----------------+
| datadir       | /var/db/mysql/ |
+---------------+----------------+
1 row in set (0.01 sec)
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载