脚本宝典收集整理的这篇文章主要介绍了MySQL基本管理,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
MySQL是一个典型的C/S服务结构,它自带客户端,例如:mySQL、mysqladmin和mysqldump等
#初始状态下,管理员root的密码为空或者是随机生成的,而且只允许本机登录。一般情况下,我们安装好Mysql之后的第一件事就是修改默认的密码。
# 设置初始密码 由于原密码为空,因此-p可以不用
[root@db03 ~]# mysqladmin -uroot password "old.321"
#这种设置密码暴露在命令行,不安全。推荐下一种
[root@db03 ~]# mysqladmin -uroot password
New password:
Confirm new password:
# 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
[root@db03 ~]# mysqladmin -uroot -p"123" password "zhang.321"
#同理,推荐下一种
[root@db03 ~]# mysqladmin -uroot -p password
Enter password:
New password:
Confirm new password:
无论是初始化之后第一次修改密码,还是日常维护中的修改root密码,修改root密码都是非常有必要的。再企业实际生产环境中,要求隔一段时间都会修改密码。那么具体修改密码的方式有哪些,下面我们来演示一下。
[root@db03 ~]# mysqladmin -uroot -p password
Enter password:
New password:
Confirm new password:
mysql> alter user root@localhost identified by 'boy@321';
Query OK, 0 rows affected (0.00 sec)
#首先停止mysql
[root@db03 ~]# Systemctl stop mysqld
# --skip-grant-tables 跳过授权表 --skip-networking 禁止远程连接
[root@db03 ~]# mysqld_safe --skip-grant-tables --skip-networking &
#直接连接登录
[root@db03 ~]# mysql
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
#特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段
#刷新授权表,必须进行的一步
mysql> flush PRivileges;
Query OK, 0 rows affected (0.00 sec)
#正常启动,进行登录
[root@db03 ~]# systemctl start mysqld
[root@db03 ~]# mysql -uroot -p123qwe
---------------- ------------------- ------------- ---------------- ------------------- -------------
#或者在/etc/my.cnf文件中添加 skip-grant-tables 参数
[root@db03 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
#重启mysql并登录
[root@db01 ~]# systemctl restart mysqld
[root@db03 ~]# mysql
mysql>
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
#删除skip_grant_tables
[root@db03 ~]# vim /etc/my.cnf
[root@db03 ~]# systemctl restart mysqld
[root@db03 ~]# mysql -uroot -p123qwe
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql>
1. TCP/IP的连接方式
2. 套接字连接方式,socket连接
3. 默认使用socket方式连接
#查看连接方式
mysql> status;
--------------
Connection: Localhost via UNIX socket
3.举例:
3.1.TCP/IP连接,通常带有-h选项的都是TCP/IP链接
mysql -uroot -p -h127.0.0.1 -P 端口号
mysql -uroot -p -h127.0.0.1 -S /tmp/mysql.sock
3.2.socket连接
mysql -uroot -p123(默认连接方式,socket)
4.注意:
4.1.因为使用TCP/IP连接,需要建立三次握手
4.2.不一定-h都是tcp,-hlocalhost是socket连接
mysql -uroot -p -hlocalhost
5.第三方连接工具
#最常用的数据库连接工具是Navicat来连接数据库,这个数据库连接工具的功能非常强大,非常适合用来操作数据库
# 在链接之前,必须创建远程连接用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'Oldboy@666' WITH GRANT OPTION;
ALL PRIVILEGES : 所有的权限
*.* : 正对于所有的库所有的表
root : 用户名
localhost : 可以链接的IP(%代表所有的IP)
mysql> FLUSH PRIVILEGES;
1.修改密码,设置密码:password
[root@db03 ~]# mysqladmin -uroot -p旧密码 password '新密码'
2.关闭MySQL服务:shutdown
[root@db03 ~]# mysqladmin -uroot -p密码 -S socket文件 shutdown
3.库外建库:create
[root@db03 ~]# mysqladmin -uroot -p密码 create egon
[root@db03 ~]# mysql -uroot -p123456 -e 'create database egon'
4.库外删除数据库:drop
[root@db03 ~]# mysqladmin -uroot -p123456 drop egon
Do you really want to drop the 'egon' database [y/N] y
Database "egon" dropPEd
5.查看配置文件所有的默认参数:VARiables
[root@db03 ~]# mysqladmin -uroot -p123456 variables
[root@db03 ~]# mysqladmin -uroot -p123456 variables | grep server_id
6.检测MySQL进程是否存活:ping
[root@db03 ~]# mysqladmin -uroot -p123456 ping
7.查看数据库 慢查询,负载信息:status
[root@db03 ~]# mysqladmin -uroot -p123456 status
Uptime MySQL服务器已经运行的秒数
Threads 活跃线程(客户)的数量
Questions 从mysqld启动起来自客户问题的数量 已经发送给服务器的查询的个数
Slow queries 已经超过long_query_time秒的查询数量
Opens mysqld已经打开了多少表
Flush tables flush ..., refresh和reload命令数量
Open tables 现在被打开的表数量
Queries per second avg: 0.046 负载
8.重载授权表,刷新缓存主机:reload,相当于flush privileges
[root@db03 ~]# mysqladmin -uroot -p123456 reload
9.刷新binLOG日志
[root@db03 ~]# mysqladmin -uroot -p123456 flush-log
以上是脚本宝典为你收集整理的MySQL基本管理全部内容,希望文章能够帮你解决MySQL基本管理所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。