知识点--mysql--不断总结

navicat for mysql F6命令查看版本

select version(); 

linux系统查看MySQL版本命令

mysql --version

--- linux里查看mysql给root的授权
show grants for 'root'@'%';
----------------------------------------------------------------------- - - - - - -  -- -----------------------------------------------------------------------
进入mysql命令行 mysql -p
然后输入密码    
再然后输入 update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
注:123qwe是要写的密码

flush privileges;
刷新
quit;
退出

-------------mysql5.7版本后密码修改就变成上面的字段了


增加MySQL用户

  格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

  mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123"; 
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。

  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。

  mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

  用新增的用户如果登录不了MySQL,在登录时用如下命令:

  mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

备份与恢复

  1、备份

  例如:将上例创建的aaa库备份到文件back_aaa中

  [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)
  [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

  2、恢复

  [root@test mysql]# mysql -u root -p ccc < back_aaa

 - -  -- -- -- - - - - -- - - - -- - - - --

mysql无法启动的几种常见原因----一定要看日志报的什么错误,大部分原因是会显示错误的

问题1:目录、文件权限设置不正确

MySQL的$datadir目录,及其下属目录、文件权限属性设置不正确,导致MySQL无法正常读写文件,无法启动。
错误信息例如:

复制代码 代码如下:
[code]
mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
/usr/local/mysql/bin/mysqld_safe: line 107: /usr/local/mysql/data/imysql.local.err: Permission denied


问题2:端口冲突

已有其他mysqld实例启动,且占用了相同端口,需要修改 port 选项。
错误信息例如:

复制代码 代码如下:

[ERROR] Can't start server: Bind on TCP/IP port: Address already in use
[ERROR] Do you already have another mysqld server running on port: 3306 ?
[ERROR] Aborting


问题3:innodb配置不正确

innodb中关于datafile、log file设置不正确,导致无法启动。尤其是第一次用默认参数启动过,后来又参考一些优化指南后,修改了innodb的参数,会提示different size,详细错误例如:

复制代码 代码如下:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 134217728 bytes!
[ERROR] Plugin ‘InnoDB' init function returned error.
[ERROR] Plugin ‘InnoDB' registration as a STORAGE ENGINE failed.


问题4:没有初始化mysql系统库

MySQL安装完后,需要运行mysql_install_db初始化mysql这个系统库,才能正常启动。

问题5:如果将mysql以普通用户权限运行的时候需要注意一些目录权限与用户名密码设置

有时候为了让mysql更安全一些,我们都会将 mysql低权限运行,由于一些安全设置工具的原因,需要将此用户重新设置一下密码就可以了。


本次先列举上述几个常见问题,下次再补充。

通常地,碰到mysqld进程无法启动时,不管任何错误,都优先检查错误日志(日志文件一般在 $datadir/xx.err文件,或者是 /var/log/message、/var/log/mysql/mysqld.log之类的),根据错误日志提示去找到问题原因,不要只看表面提示,例如找不到 mysql.sock 文件之类的。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值