linux下mysql的常用操作



四.启动与关闭mysql

/etc/init.d/mysql start/stop

或者

service mysql start/stop/restart

 

mysql安装完成默认就是会随系统启动的,可以使用如下命令查看mysql的运行级别:

chkconfig --list mysql

修改mysql的运行级别为35启动:

chkconfig --level 35 mysql on 

 

五.登录mysql

第一次登录使用root的默认密码,安装完成后默认root密码保存在当前root用户的home/.mysql_secret中

mysql -u root -p

 

登录成功够必须先修改密码,如下:

mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

 

六.开放访问权限

登录后分别执行如下命令,开放root的远程登录权限,需要在iptables中开放3306端口

mysql>grant all PRIVILEGES on *.* to root@'%' identified by 'newpwd'; 

mysql>grant all PRIVILEGES on *.* to root@'localhost' identified by 'newpwd';

mysql>flush privileges;

 

七.创建新的数据库

mysql>create database newdbtest;

mysql>use newdbtest;(打开库)

 

八.创建新的用户并授权

mysql> grant all PRIVILEGES on newdbtest.* to newdbuser@'%' identified by '123456'; 

 

九.取消root远程登录权限

mysql>revoke all PRIVILEGES on *.* from root@'%' identified by 'newpwd';

 

 十.备份与恢复

备份newdbtest :mysqldump -p --opt newdbtest > back_newdbtest

Enter password: root密码

 

恢复newdbtest :mysql -u root -p newdbtest  < back_newdbtest

Enter password: root密码

 

十一.取消大小写区分

Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;

用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names=0
其中0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。

 

十二.开启慢查询和bin-log日志

在/etc/my.cnf中的[mysqld]后添加如下内容:

long_query_time=2 #慢查询记录超过的时间,这里只2秒

slow-query-log=1 #开启慢查询日志

log_queries_not_using_indexes=1 #记录下没有使用索引的查询语句

log_bin=mysql-bin #开启bin-log日志

 

注:5.6以后的版本与之前的版本配置参数上略有不同,可以使用如下命令查看支持的参数列表:

mysqld --verbose --help

 

可以使用mysqldumpslow命令查看慢查询日志信息:

mysqldumpslow -s c -t 20 host-slow.log

mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。

 

mysqldumpslow -t 10 -s t -g “left join” host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。

 

 

十三.意外被锁

由于某种原因导致mysql意外停止,比如直接杀掉了myslq的进程,这样会导致mysql被锁:

[root@localhost ~]# service mysql status

MySQL is not running, but lock file (/var/lock/subsys/mysql) exists[失败]

 

解决方法是,删除/var/lock/subsys/mysql文件即可。

 

常用mysql命令:

1.登录

mysql -u用户名 -p密码 -h服务器IP地址 数据库 :登录并打开指定数据库,但这样做的缺点是密码要明文输入。

2.登录后命令

mysql> status;       查看数据库状态

mysql> select version();        查看MySQL的版本号

mysql> select current_date();        查看MySQL的当前日期

mysql> select version(),current_date(); 同时查看MySQL的版本号和当前日期

mysql> show databases;            显示当前存在的数据库

mysql> use mysql            选择使用数据库(USE和QUIT命令不需要分号结束)

mysql> select database();        显示当前选择的数据库

mysql> show tables;            显示当前数据库中存在的表

mysql> select * from db;        显示表(db)的内容    

mysql> describe[desc] mytable;        显示表的结构

或show columns from 表名;

mysql> select user,host,password from mysql.user;  查询用户信息

mysql> source mysql.sql;   执行sql脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值