1、mysqladmin语句:
mysqladmin version # 查看mysql版本
mysqladmin -u root -p原密码 password '新密码' # 更改root用户密码
mysqladmin -uroot -p ping # 查看数据库是否可用
mysqlshow -uroot -p # 显示服务器上的所有数据库
mysqladmin -uroot -p create my_test # 创建数据库 my_test
mysqladmin -uroot -p drop my_test # 删除数据库 my_test
mysqlshow -uroot -p my_test # 显示数据库my_test下有些什么表
mysqlshow -uroot -p my_test -v # 统计my_test 下数据库表列的汇总
mysqlshow -uroot -p my_test -v -v # 统计my_test 下数据库表的列数和行数
2、用户登陆相关语句
mysql> mysql -u用户名 -p密码 -h服务器地址 -P端口号 -D数据库名 # 登陆远程服务器
mysql> mysql -u用户名 -p密码 # 登陆本地服务器
3、用户、密码相关语句
mysql>select user(); #查看当前登陆账户
mysql>create user 用户名@主机地址 IDENTIFIED BY "密码"; # 创建用户语法格式
mysql>create user 用户名@192.168.1.1 IDENTIFIED BY "密码"; # 只允许192.168.1.1主机远程连接本服务器
mysql>create user 用户名@192.168.1.% IDENTIFIED BY "密码"; # 允许192.168.1.X的任意地址连接本服务器
mysql>create user 用户名@% IDENTIFIED BY "密码"; # %表示所有主机都可以连接本服务器
注意:上述创建好账户后,是不能直接登录的,需要给账户关联数据库,然后给对应的数据库分配权限后才能登录。
mysql>show grants for 用户名@主机地址; # 查看用户权限
mysql>grant 权限 on 数据库.表 to 用户@主机地址; # 给用户分配权限语法
语法解析:
# 权限:select、insert、update、delete、all(所有权限)
# 数据库.表 如果是*.*表示所有数据库所有表,一般不会这么设置,可以根据需求自行设置。
# 用户名@主机地址:指定用户可以从那台主机登陆数据库,语法规则与创建用户一样。如下:
- 用户名@192.168.1.1 # 只允许192.168.1.1主机远程连接本服务器
- 用户名@192.168.1.% # 允许192.168.1.X的任意地址连接本服务器
- 用户名@% # %表示所有主机都可以连接本服务器
grant 不单单只是给用户赋值权限,如果输入的用户不存在会创建一个用户。
mysql>grant select on 数据库.表 to 用户@主机地址 identified by "密码" ; # 下面使用grant创建用户和分配密码
mysql>flush privileges; # 对用户权限进行操作后,需要更新权限设置否则不生效
mysql> set pasword = password("密码") # 修改当前用户密码
mysql>set password for 用户名@主机地址 = password("密码") # 使用管理员用户修改其它用户密码
忘记root密码
net stop mysql # 停止mysql服务
mysqld -nt --skip-grant-tables # 跳过权限表
以管理员身份重新启动一个cmd命令窗口,输入:mysql -uroot -p,Enter进入数据库。
select host,user,password from mysql.user; # 即可查看到用户和密码
修改密码,在命令行下 依次 执行下面的语句
mysql>use mysql
mysql>update user set password=password("new_pass") w