linux mysql服务
Promises
|
1#
Promises 发表于 2007-12-02 00:00
linux mysql服务
1.如何创建mysqld数据库的管理用户?
数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令; [root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456 [root@linuxsir01 root]# 通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。 2.如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例; [root@linuxsir01 root]#/opt/mysql/bin/mysql -u root -p 123456 输出上面的命令后,出现的是如下的提示; Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 3.23.58 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 注意:操作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:) 3.如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。 在mysql数据库中,每操作一个命令,都是";"号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。:):) 1.查看mysql中都有哪些数据库? 代码:mysql> show databases; ---------- | Database | ---------- | mysql || test | ---------- 2 rows in set (0.00 sec) mysql> 在mysql安装好,设置好管理员后,第一次进入系统,我们用show databases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的,是让大家练习用的。 4.如何创建和删除一个数据库? 比如我要创建一个名为linux的数据库,应该运行如下命令 mysql> create database [数据库名]; 所以我们应该运行如下的命令,来创建名为linux的数据库 mysql> create database linux; Query OK, 1 row affected (0.00 sec) 是不是建好了呢??肯定是建好了,因为都有OK了:) 查看是不是有linux这个数据库了呢? 代码:mysql> show databases; ---------- | Database | ---------- | linux || mysql || test | ---------- 3 rows in set (0.00 sec) mysql> 那我们如何删除一个数据库呢?? mysql> drop database [数据库名]; 比如我们要把刚才创建的linux数据库删除,应该用下面的命令; mysql> drop database linux; Query OK, 0 rows affected (0.00 sec) 是不是已经删除了呢?? 代码:mysql> show databases; ---------- | Database | ---------- | mysql || test | ---------- 2 rows in set (0.00 sec) mysql> 5.如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令 mysql>use [数据库]; 比如我想指定linux这个数据库为当前数据库,应该是 mysql> use linux; Database changed mysql> 6.如何备份数据库?? 比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump 命令格式如下: [root@linuxsir01 root]# /opt/mysql/bin/mysqldump -u root -p linux > /root/linux.sql Enter password:在这里输入数据库的密码 通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排; 比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。 [root@linuxsir01 root]#/opt/mysql/bin/mysqldump -u root -p linux > /home/beinan/linuxsir031130.sql Enter password:在这里输入数据库管理员root的数据库密码 这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql 综上所述,我们学习时要学会变通。:):) 5.如何把把备份的数据库导入到数据库中? 首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。 比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作; [root@linuxsir01 root]# /opt/mysql/bin/mysql -u root -p linux < /home/beinan/linuxsir031130.sql Enter password:在这里输入密码 如果机器好,数据库比较小,几分钟就好了。 6.其它一些比较常用的mysql指令; 查看状态 mysql> show status; 查看进程 代码:mysql> show processlist; ---- ------ ----------- ------ --------- ------ ------- ------------------ | Id | User | Host | db | Command | Time | State | Info | ---- ------ ----------- ------ --------- ------ ------- ------------------ | 16 | root | localhost | NULL | Query | 0 | NULL | show processlist | ---- ------ ----------- ------ --------- ------ ------- ------------------ 1 row in set (0.00 sec) mysql> 查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库; mysql>use linux; mysql> show tables; Empty set (0.00 sec) mysql> 7.对mysql数据库常用命令的一点补充; 几个常用的mysql相关的管理命令 mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。 mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过; isamchk 是用来修复、检查和优化.ism后缀的数据库文件; mysqldump 是用于备份数据库,前面已经简单的说明过; myisamchk 用来修复.myi后缀的数据库文件; 比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令; 要把mysqld服务器停下来 [root@linuxsir01 root]# /opt/mysql/share/mysql.server stop 然后执行 [root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI 上面的命令的意思就是检查所有的.myi文件,数据库的目录在/opt/mysql/var/linux/目录中 如果有问题,应该用-r参数来修复 [root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI 8.mysqlshow 命令:显示用户选择的数据库和表 [root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -u root -p [数据库名] 比如我要查看名为linux的数据库;应该是: [root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -u root -p linux ========================================================================== 删除数据库 drop database db_name; 显示表的结构 show columns from table_name; 删除表 drop table table_name 导出数据表 mysqldump -u root -p database_name table_name of database_name > sentence_of_sql 给用户复权限 grant all privileges on database_name to database_user; 清空数据表 truncate table table_name 更改数据表的名称 alter table old_table_name rename new_table_name 描述表的结构 describe table_name; 在不进数据库的情况下执行mysql语句 mysql -u username -pusername database -e "msyql excute sectence"; 更新数据库信息。 update tablename set Column=Column_value where Column=Column_value 统计数据行数 SELECT count(*) FROM tablename 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source d:wcnc_db.sql MySql root密码重置解决方案 1、首先停止正在运行的MySQL进程 Linux下,运行 killall -TERM mysqld Windows下,如果写成服务的 可以运行:net stop mysql,如未加载为服务,可直接在进程管理器中进行关闭。 2、以安全模式启动MySQL Linux下,运行 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & Windows下,在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables 3、完成以后就可以不用密码进入MySQL了 Linux下,运行 /usr/local/mysql/bin/mysql -u root -p 进入 Windows下,运行 X:/MySQL/bin/mysql -u root -p 进入 4、更改密码 use mysql update user set password=password("新密码") where user="root"; flush privileges; 注:如是4.1以上版本则使用old_password()函数进行密码更改。 在sql 语句中实现模糊匹配 select * from talbe_name where column_name like "%_like_%" delete from table_name where column_name like "%_like_%" |