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_%"