linux系统下安装mysql数据库

时间:2021-05-01 17:08:47

1.安装数据库

 安装数据库有好几种方式,这里我是用yum安装

这种安装方式比较简便,下面是相应的步骤:

1)首先查看是否已安装:命令:# rpm -qa | grep mysql

如果已经安装了要删除,# rpm -e mysql  // 普通删除模式

# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

2)通过yum来进行mysql的安装

# yum list | grep mysql

就可以得到yum服务器上mysql数据库的可下载版本信息,

如果centosyum install mysql-server没有可用包,可用命令下载包(如果有相应的包,可用花括号外的步骤直接安装)

{

1.# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm;

2.# rpm -ivh mysql-community-release-el7-5.noarch.rpm  

准备中...                          ################################# [100%]

正在升级/安装...

1:mysql-community-release-el7-5  ################################# [100%]

3.可查看下载包

# ls -1 /etc/yum.repos.d/mysql-community*  

/etc/yum.repos.d/mysql-community.repo

/etc/yum.repos.d/mysql-community-source.repo

4.安装mysql

# yum install mysql-server

}

 

然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)

 

# yum install -y mysql-server mysql mysql-deve

在等待了一番时间后,yum会帮我们选择好安装mysql数据库所需要的软件以及其它附属的一些软件

 

此时我们可以通过如下命令,查看刚安装好的mysql-server的版本

# rpm -qi mysql-server

我们安装的mysql-server并不是最新版本,如果你想尝试最新版本,那就去mysql官网下载rpm包安装就行了,至此我们的mysql数据库已经安装完成了。

 

接下来我们要第一次启动mysql服务

# service mysqld start

如果启动成功将显示

正在启动 mysqld:                                            [确定]

 

再次启动mysql # service mysqld restart

 

我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过  chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如:

 

我们发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了

 

这时就设置完了开机自启动的问题。

接下来我们就可以登录数据了,在第一次登录的时候默认是没有密码的:

首先登录数据库的命令是: # mysql -u root -p 这会他会让你输入密码,因为是第一次登录不会有密码,所以直接进就可以。

# mysqladmin -u root password 'root'// 通过该命令给root账号设置密码为 root

这样数据库就会安装完成。

接下来就是把我们本地的数据库导入到Linux下了,

默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值:

mysql> show variables like '%character%';(查看数据库的编码)

 

配置MYSQL

# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

cp:是否覆盖"/etc/my.cnf"y

 

 

再修改my.cnf

 

[root@flyHome gaoxiang]# vi /etc/my.cnf

 

[client]下添加

 

default-charater-set=utf8

 

[mysqld]下添加

collation_server = utf8_general_ci

character_set_server = utf8

 

保存退出后重启mysqld

 

[root@flyHome gaoxiang]#service mysqld restart

 

导入sql脚本

./usr/bin/mysqldump -u root -p ols < /t600/data/ols_gy_zy.sql

mysql -u root -p ols < /t600/bin/ols_gy_zy.sql

导出sql脚本

 

/usr/bin/mysqldump -u 用户名 -p 数据库名 > 存放位置

 

mysqldump -u root -p test > c:/a.sql

 

/usr/bin/mysqldump

/usr/bin/mysqladmin

 

mysql> create database ols default character set utf8 COLLATE utf8_general_ci;

 

注意:

(1)如果远程连接数据库和服务器是在一个内网中,要关闭防火墙,如果在外网范围内要开启防火墙。

(2)可以用命令查一下防火墙的mysql端口是否开了

firewall-cmd --query-service=mysql

要将端口开启:

使用sudo vim /etc/sysconfig/iptables 修改文件内容

(如果没有该文件:

首先不管防火墙有没有关 都使用systemctl stop firewalld命令 关闭防火墙

然后使用 yum install iptables-services 命令安装或更新服务

再使用systemctl enable iptables 命令启动iptables

最后 systemctl start iptables 打开iptables。。。切记远程连接的话,内网一定要关闭防火墙,外网不用关闭防火墙。或者用命令service iptable stop将防火墙关闭。

(防火墙是否关闭的命令可用 iptables -L 来查看)。

如果还是连接不上,将selinux关闭。可用/usr/sbin/sestatus -v 查看selinux是否关闭。

大功告成

试试)

开启mysql端口的设置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存文件;

service iptables save命令(一定要执行一下,否则文件保存不成功)保存;

(3)权限问题:

一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

Exit

其中:

*.* 第一个*是指数据库

*代表所有数据库

第二个*指数据库对象

*代表数据库中所有对象

 'root'@'%' root是制定要授权的数据库用户

%代表允许登录的IP

123456是你的数据库密码

 

总结3点远程连接数据库:

1. 看能在mysql服务器上能连接访问mysql?

2. 如果能,从你的电脑上telnet mysql服务器的3306端口,看通不通?

3.如果不通说明防火墙没放开端口,

4.通还不能访问,就是mysql授权问题。