启动mysql服务的指令mysql常见命令详细教程启动MySQL服务的命令




启动mysql服务的指令mysql常见命令详细教程启动MySQL服务的命令

2022-07-21 2:10:43 网络知识 官方管理员

今天给大家分享下mysql授权、启动、启动服务常用命令总结,适合作为备忘!!

启动mysql服务的指令(mysql常见命令详细教程)(1)

一、四种启动方式:

1、mysqld

启动mysql服务器:./mysqld--defaults-file=/etc/my.cnf--user=root

客户端连接:mysql--defaults-file=/etc/my.cnf或mysql-S/tmp/mysql.sock

2、mysqld_safe

启动mysql服务器:./mysqld_safe--defaults-file=/etc/my.cnf--user=root&

客户端连接:mysql--defaults-file=/etc/my.cnf或mysql-S/tm/mysql.sock

3、mysql.server

cp-v/usr/local/mysql/support-files/mysql.server/etc/init.d/

chkconfig--addmysql.server

启动mysql服务器:servicemysql.server{start|stop|restart|reload|force-reload|status}

客户端连接:同1、2

4、mysqld_multi

mkdir$MYSQL_BASE/data2cat<<-EOF>>/etc/my.cnf[mysqld_multi]mysqld=/usr/local/mysql/bin/mysqld_safemysqladmin=/user/local/mysql/bin/mysqladminuser=mysqladminpassword=mysqladmin[mysqld3306]port=3306socket=/tmp/mysql3306.sockpid-file=/tmp/mysql3306.pidskip-external-lockingkey_buffer_size=16Mmax_allowed_packet=1Mtable_open_cache=64sort_buffer_size=512Knet_buffer_length=8Kread_buffer_size=256Kread_rnd_buffer_size=512Kmyisam_sort_buffer_size=8Mbasedir=/usr/local/mysqldatadir=/usr/local/mysql/data[mysqld3307]port=3307socket=/tmp/mysql3307.sockpid-file=/tmp/mysql3307.pidskip-external-lockingkey_buffer_size=16Mmax_allowed_packet=1Mtable_open_cache=64sort_buffer_size=512Knet_buffer_length=8Kread_buffer_size=256Kread_rnd_buffer_size=512Kmyisam_sort_buffer_size=8Mbasedir=/usr/local/mysqldatadir=/usr/local/mysql/data2EOF#mysql-S/tmp/mysql3306.sockmysql>GRANTSHUTDOWNON*.*TO'mysqladmin'@'localhost'identifiedby'mysqladmin'withgrantoption;#mysql-S/tmp/mysql3307.sockmysql>GRANTSHUTDOWNON*.*TO'mysqladmin'@'localhost'identifiedby'mysqladmin'withgrantoption;启动mysql服务器:./mysqld_multi--defaults-file=/etc/my.cnfstart3306-3307关闭mysql服务器:mysqladminshutdown

二、启动和关闭mysql服务

1.windows下:

启动:mysqld--console或netstartmysql

关闭:mysqladmin-urootshutdown或netstopmysql

linux下:

启动:servicemysqlstart

停止:servicemysqlstop

重启服务:servicemysqlrestart

三、创建用户分配权限

1.新建用户:创建一个名为:buff,密码为:buff的用户

//root用户登陆MySQLmysql-uroot-pEnterpassword://新建用户mysql>insertintomysql.user(Host,User,Password)values("localhost","buff",password("buff"));//刷新系统权限表mysql>flushprivileges;

登录测试

mysql>exit//用户buff登陆MySQLmysql-ubuff-pEnterpassword:mysql>//说明新建的用户buff登录成功

用户授权

//root用户登陆MySQLmysql-uroot-pEnterpassword://为用户buff创建一个数据库bluebuffmysql>createdatabasebluebuff;//授权用户buff拥有数据库bluebuff的所有权限mysql>grantallprivilegesonbluebuff.*tobuff@localhostidentifiedby'buff';mysql>flushprivileges;

登录测试

//用户buff登陆数据库mysql-ubuff-pEnterprivileges://显示数据库mysql>showdatabases;

5、修改用户buff的密码

//root用户登陆MySQLmysql-uroot-pEnterpassword://修改用户buff的密码mysql>updatetablemysql.usersetpassword=password('buffer')whereUser='buff'andHost='localhost';mysql>flushprivileges;

6、删除用户

//root用户登陆MySQLmysql-uroot-pEnterpassword://删除用户buffmysql>deletefrommysql.userwhereUser='buff'andHost='localhost';mysql>flushprivileges;

7、删除数据库

mysql>dropdatabasebluebuff;

四、查看用户授予的权限

在mysql中,授予用户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、子程序层级权限

1.全局层级:

全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。GRANTALLON*.*和REVOKEALLON*.*只授予和撤销全局权限。

例:a.创建一个测试账号test,授予全局层级的权限mysql>grantselect,inserton*.*totest@'%'identifiedby'test';mysql>flushprivileges;b.查询授予test的权限showgrantsfortest;select*frommysql.userwhereuser='test'\G;

2、数据库层级:

数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host表中。GRANTALLONdb_name.*和REVOKEALLONdb_name.*只授予和撤销数据库权限

例:a.创建一个测试账号test,授予数据库层级的权限dropusertest;grantselect,insert,update,deleteonMyDB.*totest@'%'identifiedby'test';b.查询授予test的权限select*frommysql.userwhereuser='test'\G;--可以看到无任何授权select*frommysql.dbwhereuser='test'\G;showgrantsfortest;

3、表层级:

表权限适用于一个给定表中的所有列。这些权限存储在mysql.tables_priv表中。GRANTALLONdb_name.tbl_name和REVOKEALLONdb_name.tbl_name只授予和撤销表权限。

//root用户登陆MySQLmysql-uroot-pEnterpassword://新建用户mysql>insertintomysql.user(Host,User,Password)values("localhost","buff",password("buff"));//刷新系统权限表mysql>flushprivileges;0

4、列层级:

列权限适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。当使用REVOKE时,您必须指定与被授权列相同的列。

//root用户登陆MySQLmysql-uroot-pEnterpassword://新建用户mysql>insertintomysql.user(Host,User,Password)values("localhost","buff",password("buff"));//刷新系统权限表mysql>flushprivileges;1

5、子程序层级:

CREATEROUTINE,ALTERROUTINE,EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATEROUTINE外,这些权限可以被授予为子程序层级,并存储在mysql.procs_priv表中。

//root用户登陆MySQLmysql-uroot-pEnterpassword://新建用户mysql>insertintomysql.user(Host,User,Password)values("localhost","buff",password("buff"));//刷新系统权限表mysql>flushprivileges;2

总结:

1.如果需要查看用户被授予的权限,就需要从这五个层级来查看被授予的权限。从上到下或从小到上,逐一检查各个层级被授予的权限。

2.grantcreateroutine, alterroutine,select,create,insert,update,delete,executeon….

3.如果客户端无法连接到服务器,则在确定telnet端口可以通的前提下去查看user表中的host项是否为'%',并且已经授权了

4.如果本地服务器无法连接到服务器,则查看user表中的host项是否为'localhost',并且已经授权了

发表评论:

最近发表
网站分类
标签列表