linux-mysql 的安装与种种问题!

一、安装mysql

1.下载YUM库

 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2.安装YUM库

 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

3.安装数据库

 yum install -y mysql-community-server

4.启动MySQL服务

 systemctl start mysqld.service

 

三、mysql的操作

1、检查用户表

select host, user from user;

2. 查询数据库

show databases;

3.查询数据库

show databases;

4.进入某个数据库

use databasename;

5.列出数据库中的表

show tables;

6.查看某个表全部字段

desc slow_log;

show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)

7.查看当前用户

select user();

8.查看当前所在数据库

select database();

9.创建新数据库(可以指定字符集)

create database db1 charset utf8;

10.创建新表

create table t1 (`id` int(4), `name` char(40));

11.查看数据库版本

select version();

12.查看数据库状态

show status;         当前会话状态

show global status;  全局数据库状态

show slave status\G;   查看主从数据库状态信息

13.查询数据库参数

show variables;

14.修改数据库参数

show variables like 'max_connect%';

set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)

15.查看当前数据库队列

show processlist;

16.创建普通用户并授权给某个数据库

grant all on databasename.* to 'user1'@'localhost' identified by '123456';

17.查询表数据

select * from mysql.db;           //查询该表中的所有字段

select count(*) from mysql.user;  //count(*)表示表中有多少行

select db,user  from mysql.db;    //查询表中的多个字段

select * from mysql.db where host like '10.0.%';在查询语句中可以使用万能匹配 “%”

18.插入一行数据

insert into db1.t1 values (1, 'abc');

19.更改表的某一行数据

update db1.t1 set name='aaa' where id=1;

20.清空表数据

truncate table db1.t1;

21.删除表

drop table db1.t1;

22.清空数据库中的所有表(数据库名是eab12)

mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12

23.删除数据库

drop database db1;

24.数据库备份

mysqldump  -uroot -p'yourpassword' mysql >/tmp/mysql.sql

25.数据库恢复

mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql

26.新建普通用户

CREATE USER name IDENTIFIED BY 'ssapdrow';

27.更改普通用户密码

SET PASSWORD FOR name=PASSWORD('fdddfd');

28.查看name用户权限

SHOW GRANTS FOR name;

 

三、错误提示!

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

修改root默认的密码

请修改my.cnf,添加skip-grant-tables和skip-networking:

1.vi /etc/my.cnf

2.找到[mysqld]在后边写

skip-grant-tables

skip-networking

3. 重启mysql    systemctl restart mysqld.service

4. 重新登陆mysql 就会跳过密码

mysql -uroot -p

5. 设置新的密码

      5.6版本  update user set password=password("123456") where user="root";

      5.7版本  update mysql.user set authentication_string=password('123456') where user='root';

6. 然后刷新保存

flush privileges

7.退出mysql

exit

再进入vi /etc/my.cnf  skip-grant-tables    skip-networking 删除

8. 重启mysql服务器   systemctl restart mysqld.service

9.再登陆就输入新的密码即可mysql -uroot -p

10.firewall-cmd --zone=public --add-port=3306/tcp --permanent

systemctl restart firewalld.service

 

连接数据库时很慢,到最后提示连接不上?

需要开启3306端口!

firewall-cmd --zone=public --add-port=3306/tcp --permanent

 

1819错误,密码太简单,得改

修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPwd123!@# ');

MyNewPwd123!@#                  需要有大写字母 数字 和特殊字符

然后刷新保存

flush privileges;

退出mysql

exit

重启mysql服务器   systemctl restart mysqld.service

 

 

1130错误:

解决:

5.

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPwd123!@#' WITH GRANT OPTION;   允许所有的人以MyNewPwd123!@#这个密码登录;

 

 

service mysqld restart

 

导入数据库时报错1067 – Invalid default value for 

永久修改:

可以直接修改my.cnf文件

例如:     vim /etc/my.cnf

在[mysqld]下面添加如下列:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

注:解决问题的博客:

解决1130错误  :https://www.cnblogs.com/pejsidney/p/9453205.html

解决3167错误:http://blog.csdn.net/u011065164/article/details/53034298

set global show_compatibility_56=on;

http://blog.csdn.net/chenghuikai/article/details/53607222

 

 

 

解决apache 报错 php错误的配置

http://blog.csdn.net/qq_33729889/article/details/66475415

 

 

1130错误解决办法:

在用sqlyog连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误,
ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server

猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。特贴出来。。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。

mysql -u root -p

mysql>use mysql;

mysql>select 'host' from user where user='root';

mysql>update user set host = '%' where user =密码;

mysql>flush privileges;

mysql>select 'host'  from user where user='root';

第一句是以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

第五句:刷新MySQL的系统权限相关表

第六句:再重新查看user表时,有修改。。

记得Mysql服务需要重新启动(确保修改有效),否则可能修改的结果无法体现。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值