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 表名
参考资料