优秀的编程知识分享平台

网站首页 > 技术文章 正文

mysql--启动、关闭、登陆、找回密码(4)

nanyue 2024-10-20 07:47:46 技术文章 2 ℃

1.单实例的启动与关闭

/etc/init.d/mysql start

/etc/init.d/mysql stop

2.多实例的启动与关闭

/data/3306/mysql start

/data/3306/mysql stop

启动:/bin/sh ${CmdPath}/mysqld_safe --default-file=/data/${port}/my.cnf 2>&1 >/dev/null &

关闭:${CmdPath}/mysqladmin -u${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown

3.检查端口和进程

ss -lnt|grep 330

ps -ef|grep mysql|grep -v grep

4.mysql启动基本原理

用mysqld启动mysql, /etc/init.d/mysqld 是一个shell启动脚本,启动会最终会调用mysqld_safe脚本,最后会调用mysqld服务启动mysql,

mysqld_safe,初始化数据库时mysql系统输出给出的启动方法,

mysqld_safe --user=mysql & 。当我们找回root密码时,会经常使用mysqld_safe --user=mysql &带参数启动,而且我们开发脚本启动数据库时可能会用到这个启动方法,

/etc/init.d/mysqld 和mysqld_safe --user=mysql & 启动实质是一样的。

5.mysql关闭基本原理

主要是kill 掉mysqld的pid。

6.强制关闭数据库

killall mysqld

pkill mysqld

killall -9 mysqld

尽量不使用,生产高并发环境会造成数据丢失。

7 推荐关闭方式

7.1 mysqladmin -uroot -p456 shutdown

7.2 /etc/init.d/mysqld stop

7.3 kill -USR2 `cat path/pid`

8.单实例登陆

mysql -uroot -p

9.多实例登陆

mysql -S /data/3306/mysql.sock

mysql -S /data/3307/mysql.sock

10.初始化root密码及修改root密码

mysqladmin -u root password'456' 初始化单实例

mysqladmin -u root password'456' -S /data/3306/mysql.sock 初始化多实例

mysqladmin -u root -p'456' password'456' 修改单实例

mysqladmin -u root -p'456' password'456' -S /data/3306/mysql.sock 修改多实例

update mysql.user set password=password("456") where user='root';

flush privileges;

11.找回root密码(单实例)

停止数据库 /etc/init.d/mysql stop

使用--skip-grant-tables启动mysql,忽略授权登陆验证。

mysqld_safe --skip-grant-tables --user=mysql

mysql -u root -p 登陆时空密码

进入数据库之后,update mysql.user set password=password("123") where user='rooot' and host='localhost';

flush privileges;//是将修改从内存写入数据文件

quit;

mysqladmin -uroot -p123 shutdown

正常启动再登陆。

12.找回root密码(多实例)

停止数据库:killall mysqld

启动时加--skip-grant-tables参数

mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables --user=mysql

mysql -u root -p -S /data/3306/mysql.sock 登陆时空密码

update mysql.user set password=password("123") where user='rooot' and host='localhost';

重启服务并用新密码登陆:killall mysqld

/data/3306/mysql start

最近发表
标签列表