300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 查看从机状态 mysql_mysql常用操作命令

查看从机状态 mysql_mysql常用操作命令

时间:2020-05-11 19:00:44

相关推荐

查看从机状态 mysql_mysql常用操作命令

Mysql 忘记root密码

方法一:

在/etc/my.cfg [mysqld]下面添加

skip-grant-tables 或是skip-grant

重启MySQL

use mysql;

UPDATEuserSETPassword=password(‘new-password‘)WHEREUser=‘root‘;

mysqlflushprivileges;

将my.cfg文件修改回来 ,重启MySQL即可。

方法二:

在启动Mysql服务器时加上参数--skip-grant-tables来跳过授权表的验证

(./safe_mysqld --skip-grant-tables &),这样我们就可以直接登陆Mysql服务器,

然后再修改root用户的口令,重启Mysql就可以用新口令登陆了。

添加环境变量

export PATH=/usr/local/mysql/bin:$PATH 加入到/etc/profile.d/mysql.sh中

只需本机使用Mysql服务

在启动时还可以加上--skip-networking参数使Mysql不监听任何TCP/IP连接

(./safe_mysqld --skip-networking &),增加安全性。

查看支持的存储引擎mysql>showengines;

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

|Engine|Support|Comment|Transactions|XA|Savepoints|

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

|MyISAM|YES|MyISAMstorageengine|NO|NO|NO|

|CSV|YES|CSVstorageengine|NO|NO|NO|

|MRG_MYISAM|YES|CollectionofidenticalMyISAMtables|NO|NO|NO|

|BLACKHOLE|YES|/dev/nullstorageengine(anythingyouwritetoitdisappears)|NO|NO|NO|

|MEMORY|YES|Hashbased,storedinmemory,usefulfortemporarytables|NO|NO|NO|

|FEDERATED|NO|FederatedMySQLstorageengine|NULL|NULL|NULL|

|ARCHIVE|YES|Archivestorageengine|NO|NO|NO|

|PERFORMANCE_SCHEMA|YES|PerformanceSchema|NO|NO|NO|

|InnoDB|DEFAULT|Supportstransactions,row-levellocking,andforeignkeys|YES|YES|YES|

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

9rowsinset(0.01sec)

查看当前MySQL的默认数据引擎mysql>showvariableslike‘%engine%‘;

+---------------------------+--------+

|Variable_name|Value|

+---------------------------+--------+

|default_storage_engine|InnoDB|

|engine_condition_pushdown|ON|

|storage_engine|InnoDB|

+---------------------------+--------+

3rowsinset(0.00sec)

mysql>showvariables;查看相关参数

查看和修改最大连接数

使用MySQL数据库的站点,当访问连接数过多时,就会出现"Toomanyconnections"的错误。

出现这种错误有两种情况:

一种是网站访问量实在太大,服务器已经负担不起,此时就应该考虑负载均衡或者其它减少服务器压力的办法。

另一种情况就是MySQL最大连接数设置得太小,当访问量稍大就出现连接过多的错误。

show variables like ‘%max_connections%‘;

要对mysql最大连接数进行修改,只需要在f配置文件里面修改max_connections的值,然后重启mysql就行。

如果f 文件中没有找到max_connections条目,可自行添加以下条目。

max_connections = 220

或是

mysql>set global max_user_connections = 200; [仅本次修改有效]

实时查看mysql当前连接数

前提:对用户和远程主机有授权

mysql> grant all on *.* to [emailprotected] identified by ‘123456‘;

mysql> flush privileges;

[[emailprotected] ~]# mysqladmin -uroot -p -h192.168.9.9 processlist;

只查看当前连接数(Threads就是连接数)

[[emailprotected] ~]# mysqladmin -uroot -p123456 status;

Uptime:

4449 Threads: 2 Questions: 18697 Slow queries: 0 Opens: 77 Flush

tables: 1 Open tables: 31 Queries per second avg: 4.202

mysql> show full processlist;

或者

mysql> show status;

查看一下所有连接进程,注意查看进程等待时间以及所处状态是否locked

如果进程过多,就把进程打印下来,然后查看.

mysql -e ‘show full processlist;‘ -p > 111.txt

查找非locked的进程,一般就是当前执行中卡死,导致后面的进程排队的原因。

查看MySQL连接数和当前用户Mysql连接数

先用管理员身份进入mysql提示符。

mysql-uroot-pxxxx

mysql>showprocesslist; #可以显示前100条连接信息

mysql >showfullprocesslist; #可以显示全部。如果用普通账号登录,就只显示这用户的。

修改MySQL监听端口

1.如果安装的是系统自带的rpm包的情况:

修改 /etc/f

[mysqld]

datadir=/var/lib/mysql

port=3300#修改成你自己想要的端口

socket=/var/lib/mysql/mysql.sock

[mysql.server]

user=mysql

basedir=/var/lib

[safe_mysqld]

err-log=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

2.如果安装的是源码包或者在同一服务器上安装多个mysqld服务情况:

找出f 文件。添加port= 端口号

需要注意的是

[client]

port = 3300

这里也要改一下。

在同一台机器上配置两个MySQL服务(跑两个端口)

cd /usr/local/;

cp -r mysql mysql_2

cd mysql_2;

初始化mysql2

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2

拷贝配置文件:

cp /etc/f ./f

修改配置文件相关参数:vim f#更改port 以及socket

启动:/usr/local/mysql_2/bin/mysqld_safe --defaults-file=/usr/local/mysql_2/f --user=mysql &

若开机启动它,需加入到 /etc/rc.local中

查看mysql服务器当前版本,当前日期,当前用户

mysql> select version();

mysql> select current_date();

mysql> select user();

查看mysql状态

mysql> show status;

修改mysql参数

mysql> show variables like ‘max_connect%‘;

mysql> set global max_connect_errors = 1000;

开启服务器

/etc/rc.d/init.d/mysqldstart

或者

mysqld_safe--user=mysql&

停止服务器

/etc/rc.d/init.d/mysqldstop

或者

/usr/bin/mysqladmin-uroot-pshutdown

更改MySQL目录

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录

mkdir /home/data

2、把MySQL服务进程停掉:

mysqladmin-uroot-pshutdown

3、把/var/lib/mysql整个目录移到/home/data

mv/var/lib/mysql/home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到f配置文件

如果/etc/目录下没有f配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为f中。命令如下:

[[emailprotected]mysql]#cp/usr/share/mysql/my-f/etc/f

5、编辑MySQL的配置文件/etc/f

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock。

操作如下:

vim /etc/f

#TheMySQLserver

[mysqld]

port=3306

#socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用#注释此行)

socket=/home/data/mysql/mysql.sock(加上此行)

6、修改MySQL启动脚本/etc/rc.d/init.d/mysql

修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:/home/data/mysql。

[[emailprotected]etc]#vi/etc/rc.d/init.d/mysql

#datadir=/var/lib/mysql(注释此行)

datadir=/home/data/mysql (加上此行)

7、重新启动MySQL服务

/etc/rc.d/init.d/mysqlstart

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

赋权

myaql >grantallondbname.*tousername@% identifiedby‘password‘;

mysql >flushprivileges;刷新权限表

优化表

mysql> use qqtexas;

mysql> optimize table users;

mysql> optimize table users,userid;

或者进行优化并检查修复任务

[[emailprotected] ~]# mysqlcheck -o dbname tblAtblBtblC -uroot -p

对表进行分析

mysql> use qqtexas;

mysql> analyze table tblA;

[[emailprotected] ~]# mysqlcheck -adbname[tblAtblBtblC]-uroot-p

对表进行检查

mysql> use qqtexas;

mysql> check table users;

从命令行登录MySQL数据库服务器登录使用默认3306端口的MySQL

/usr/local/mysql/bin/mysql-uroot-p

通过TCP连接管理不同端口的多个MySQL(注意:MySQL4.1以上版本才有此项功能)

/usr/local/mysql/bin/mysql-uroot-p--protocol=tcp--host=localhost--port=3307

通过socket套接字管理不同端口的多个MySQL

/usr/local/mysql/bin/mysql-uroot-p--socket=/tmp/mysql3307.sock

通过端口和IP管理不同端口的多个MySQL

/usr/local/mysql/bin/mysql-uroot-p-P3306-h127.0.0.1

修改登录密码

MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

usr/bin/mysqladmin-urootpassword‘new-password‘

格式:mysqladmin-u用户名-p旧密码password新密码

显示数据表的结构

mysql> use qqtexas;

mysql> desc tablesname;

显示表的创建信息

show create table tablesname;

更改表结构,将zhangyan表username字段的字段类型改为CHAR(25)

ALTERTABLEzhangyanCHANGEusernameusernameCHAR(25);

创建名称为ocean的数据库

mysql> create database ocean;

mysql> drop database ocean;

mysql> drop tables tablesname;

将表中记录清空

mysql> deletefromtablesname;

mysql> truncate table db1.t1;

将当前目录下的mysql.sql导入到数据库中

mysql> source ./mysql.sql;

添加主键: alter table表名 add primary key(列名)

删除主键: alter table 表名 drop primary key;

给某列改名: alter table 表名 change 列名 属性列表

比如alter table student change id no char(4)

添加某列:

1 在表的最前面添加列比如给student表添加id属性 放在表的最前面

alter table student add id int(4) not null auto_increment primary key first;

2在表的某个列后加列比如给student表添加id属性 放在列no的最前面

alter table student add a int(11) afer no;

删除某列:alter table表名 drop column 列名;

更改某列属性 比如修改student no字段属性 alter table student modify no char(4);

添加索引:alter table表名add index 列名

删除索引:alter table表名 drop index 列名

删除外键:alter table 表名 drop foreign key 约束名

limit的使用:

select * from表名 limit 2;//如果只给定一个参数,它表示返回最大的记录行数目

select * from表名 limit 1,3;// 第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.

原文:http://hao360./588/1655572

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。