Linux CentOS 中安装 MySql

CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。

1. 下载mysql的repo源

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安装mysql-community-release-el7-5.noarch.rpm包

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3. 安装mysql

$ sudo yum install mysql-server

根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

4. 重置密码

重置密码前,首先要登录

$ mysql -u root

登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

$ sudo chown -R openscanner:openscanner /var/lib/mysql

然后,重启服务:

$ systemctl restart mysqld.service 

接下来登录重置密码(注意一定要有分号) 退出用 quit也可以

$ mysql -u root
mysql
> use mysql; mysql > update user set password=password(‘123456‘) where user=‘root‘; mysql > exit;

 更改密码如果出错:

--错误信息
ERROR 1054 (42S22): Unknown column '‘root‘' in 'where clause'

原来是mysql数据库下已经没有password这个字段了更换成下面的就可以了

update user set authentication_string=password('root') where user='root' ;

 开机启动

systemctl enable mysqld.service

实现远程连接

需要配置防火墙端口 CentOS 防火墙配置

远程连接需要注意的问题

1、mysql开机启动

2、防火墙添加 3306端口开放

firewall-cmd --add-port=3306/tcp --permanent #加--permanent 表示永久开放

显示“2003- Can't connect MySQL Server on 'localhost'(10038)“。 原因就是:远程3306端口未对外开放。   

3、给root  远程访问权限,默认没有权限的

 在mysql server中查看root用户所具备的相应权限;

给root用户进行授权: 错误 1130为权限问题

Grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;

注:kdm001为root远程登录时使用的密码;

显示命令 

0、root登录数据库

mysql -u root mysql
1、显示数据库列表。 
show databases; 
2、显示库中的数据表: 
use mysql;
show tables; 
3、显示数据表的结构: 
describe 表名; 
4、建库: 
create database 库名; 
5、建表: 
use 库名; 
create table 表名 (字段设定列表); 
6、删库和删表: 
drop database 库名; 
drop table 表名; 
7、将表中记录清空: 
delete from 表名; 
8、显示表中的记录: 
select * from 表名

参考资料

在CentOS环境下mysql如何远程连接

 我看我们公司拿个大神 用的spotlight on mysql软件 监测的数据库 
原文地址:https://www.cnblogs.com/xiaoshi657/p/5477804.html