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,整个移动数据库过程中一定要注意
权限
也要跟着移动
版权声明:本文标题:REDHAT linux下安装MYSQL 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735090327a1633152.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论