admin 管理员组

文章数量: 1086019


2024年12月24日发(作者:web前端开发好学吗?)

LINUX 下安装配置MYSQL

1,下载MYSQL安装程序

地址:/downloads/mysql/

选择你所安装环境下的服务器:

分别下载

SERVER程序:

CLIENT工具:

2,通过本地SSH Secure工具将文件上传到服务器

1)安装服务器端

在有两个rmp文件的目录下运行如下命令:

[root@test1 local]# rpm -ivh

显示如下信息:

########################################### [100%]

1:MySQL-server ########################################### [100%]

2)测试是否安装成功

[root@test1 local]# netstat -natpl

显示3306端口开放表示服务安装成功

3)安装客户端工具

[root@test1 local]# rpm -ivh

########################################### [100%]

1:MySQL-client ########################################### [100%]

显示安装完成

4)测试连接

[root@test1 local]# mysql

出现如下提示符

mysql>

表示登陆成功。

以上登陆情况是在没有设置密码的情况下登陆,在设置防火墙前注意对MYSQL设置密码

5)对MYSQL用户ROOT设置密码

[root@test1 local]# /usr/bin/mysqladmin -u root password 123456

注:123456只是事例密码,实际配置过程中注意相关密码复杂性要求

6) 对mysql用户设置远程访问权限

方法1,改表法。可能是你的帐号不允许从远程登陆,只能在localhost。

这个时候只要在localhost的那台电脑,登入mysql后,更改“mysql”数据库里的“user”

表里的“host”项,从“localhost”改称“%”

mysql -u root -p123456

mysql>use mysql;

mysql>update user set host = ‘%’ where user = ‘root’;

mysql>select host, user from user;

mysql>FLUSH PRIVILEGES

方法2,授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

mysql>GRANT ALL PRIVILEGES ON *.* TO myuser@'%' IDENTIFIED BY 'mypassword' WITH GRANT

OPTION;

mysql>FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为10.0.0.233的主机连接到mysql服务器,并使用mypassword

作为密码

myql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'10.0.0.233' IDENTIFIED BY 'mypassword'

WITH GRANT OPTION;

myql>FLUSH PRIVILEGES;

7) 对LINUX系统IPTABLES配置,使外网用户能够访问MYSQL

修改/etc/sysconfig下的iptables文件;

原文件内容如下:

[root@linux1 sysconfig]# viiptables

# Firewall configuration written by system-config-securitylevel

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT

-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

在原文件内容下插入

-A RH-Firewall-l-INPUT -m tcp -m tcp --dport 3306 -j ACCEPT

注:插入内容位置不能在最后一行应在倒数第三行

修改后内容如下:

[root@linux1 sysconfig]# viiptables

# Firewall configuration written by system-config-securitylevel

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT

-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -m tcp -m tcp --dport 3306 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

重启IPTABLES

[root@linux1 sysconfig]# seviceiptables restart

完成安装

附MSYQL安装目录结构

1、数据库目录

/var/lib/mysql/

2、配置文件

/usr/share/mysql(命令及配置文件)

3、相关命令

/usr/bin(mysqladminmysqldump等命令)

4、启动脚本

/etc/rc.d/init.d/(启动脚本文件mysql的目录)

2,数据库目录转移

1,在根目录下新建文件夹

[root@linux1 ~]# mkdirmysqldata

2, 停止MYSQL服务器

servicemysql stop

复制/var/lib/mysql下所有文件到/mysqldata

查看原数据库文件夹下各文件权限默认为mysql

3, 更改/mysqldata下各文件权限

[root@linux1 ~]# chgrp -R mysql ./mysqldata&&chown -R mysql ./mysqldata

检查权限

[root@linux1 /]# ls -l

4, 配置文件

复制并更改文件到/etc目录下

[root@linux1 mysql]# cp /usr/share/mysql/ /etc/

5, 修改

# The MySQL server

[client]

#password = your_password

port = 3306

# socket = /var/lib/mysql/

socket =/mysqldata/--增加此行,并配置数据库目录

[mysqld]

port = 3306

# socket = /var/lib/mysql/

socket =/mysqldata/ --增加此行,并配置数据库目录

6, 修改启动文件

修改/etc/rc.d/init.d/mysql

找到datadir位置,修改内容如下

# Set some defaults

pid_file=

server_pid_file=

use_mysqld_safe=1

user=mysql

if test -z "$basedir"

then

basedir=/

bindir=/usr/bin

if test -z "$datadir"

then

# datadir=/var/lib/mysql --修改前内容

datadir=/mysqldata --修改后内容

fi

sbindir=/usr/sbin

7,启动MYSQL服务

[root@linux1 mysql]#service mysql start

注:1,MYSQL更改数据库目录后相关错误日志文件存为/mysqldata下的.err文件

2,更改目录完成后可能出现SELINUX报错,本人建议不要关闭SELINUX,解决办法为:

使用ls -laZ查看原数据库目录及相关文件的策略属性,通过chcon修改移动后的文件策略属

性:例如:

[root@linux1 mysql]#chcon -t mysqld_db_t /mysqldata

3,整个移动数据库过程中一定要注意

权限

也要跟着移动


本文标签: 文件 目录 安装 数据库 相关