一、MySQL启动三种方式:
第一种:sys-v 的方式(MySQL自带启动方式)
说明:
利用MySQL自带启动脚本,路径在mysql/support-files/
脚本是mysql.server
后边接需要执行的状态(start|stop|restart)即可
示例:
[root@a ~]#/application/mysql/support-files/mysql.server start
Shutting down MySQL.. [ OK ]
[root@a ~]# /application/mysql/support-files/mysql.server start
Starting MySQL.... [ OK ]
[root@a ~]# /application/mysql/support-files/mysql.server restart
Shutting down MySQL.. [ OK ]
Starting MySQL.... [ OK ]
检查是否启动:
netstat -lntup|grep mysql
第二种:/etc/init.d启动
原理和第一种差不多少
具体实现方法:
1.把mysql自带启动脚本移动到/etc/init.d/并直接改名为mysqld
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
2.然后就可以直接控制MySQL的状态
[root@mysql52 /etc/init.d]# service mysqld start
[root@mysql52 /etc/init.d]# service mysqld stop
[root@mysql52 /etc/init.d]# service mysqld restart
3.检查是否启动
netstat -lntup|grep mysql
第三种:system启动
原理:在/etc/systemd/system/添加一个配置文件
[root@mysql52 /etc/systemd/system]# cat mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
然后即可systemctl管理MySQL状态
systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
检查是否启动
netstat -lntup|grep mysqld
温馨提示:管理mysql的方法虽然多,但是建议只使用一种自己心仪的方法(多个老板让员工做事,员工到底听谁的呢?)
二、mysql设置登录密码
(因为上一篇写了mysql的安装,初始化时候也设置了免密,所以从设置密码开始说)
1.设置密码
其实很简单:
mysqladmin -uroot password '123456'
设置root用户密码为123456
2.修改密码(知道原密码的前提下)
mysqladmin -uroot -p123456 password '654321'
原密码 新密码
3.忘记密码了怎么办?没关系,我教你
1.首先检查数据库状态,若果是开启状态,需要先关闭
netstat -lntup|grep mysql
若返回不为空,即为开启状态,执行关闭数据库命令(若为空,即可直接执行第二步)
systemctl stop mysqld
注意,请使用你开启数据库的方法去关闭数据库,不然你的数据库炸了可别怪我没提醒你
关闭数据库之后最好再使用上边命令检查一下。
2.数据库关闭成功,接下来启动数据库(救援模式)
mysqld_safe --skip-grant-tables --skip-networking &
--skip-grant-tables 参数:跳过验证密码
--skip-networking 参数:因为已经跳过了密码,所以也要禁止远程TCP/IP方式登录
& 放后台执行
执行完上边命令,咦?怎么没法操作了?没关系,已经添加了&符号,敲几下回车键即可正常操作
3.登录数据库
mysql
可直接登录,因为已经启动救援模式并且跳过密码验证
4.此时可以重置root免密了
mysql> alter user root@'localhost' identified by '123123';
新root登录mysql密码
这是在进入mysql之后敲的命令,前边mysql> 就是给你最好的提示(我居然写到这么详细)
此时会报错(mysql不同意这样更改密码),没关系,执行下边命令:
mysql> flush privileges;
再重置一遍
mysql> alter user root@'localhost' identified by '123123';