linux 下 mysql 环境的安装

本贴最后更新于 2173 天前,其中的信息可能已经水流花落

一、通过 rpm 的方式安装

1.1 移除原有的 mysql 包

查询:

rpm -qa|grep mysql  

将上一步列出的文件依次移除,将上一步的文件名直接复制下来就可以:

rpm -e --nodeps 文件名

1.2 下载 rpm 包并安装

下载 mysql5.5 对应的 rpm 包压缩包,对应的下载地址为:http://mirrors.sohu.com/mysql/MySQL-5.5/MySQL-5.5.55-1.linux2.6.x86_64.rpm-bundle.tar

解压该 rpm 压缩包,我们只需要其中的 server 包(如:MySQL-server-5.5.55-1.linux2.6.x86_64.rpm)和 client 包(如:MySQL-client-5.5.55-1.linux2.6.x86_64.rpm)。

将 server 包和 client 包上传到 linux 服务器上之后(假设上传到/usr/local 路径下)。执行以下命令:

cd /usr/local
rpm –ivh MySQL-server-5.5.55-1.linux2.6.x86_64.rpm

安装 server 端 rpm 包完成之后,安装 client 端 rpm 包:

rpm –ivh MySQL-client-5.5.55-1.linux2.6.x86_64.rpm

将/usr/share/mysql/my-medium.cnf 文件复制到/etc 目录下,并命名为 my.cnf,即执行如下命令:

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

针对 5.5 以上版本 mysql,修改/etc/my.cnf 文件(mysql5.5 版本可无需修改):

vi /etc/my.cnf

添加以下有注释部分的配置


[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8    ##设置字符编码

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
sky_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 256M
net_buffer_length = 8K
read_buffer_size = 256M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-storage-engine = INNODB    ##设置默认存储引擎
character-set-server = utf8        ##设置字符编码
collation-server = utf8_general_ci   ##设置字符集

开启 mysql 服务:

service mysqld start

centos 7 及以上版本使用

systemctl start mysqld

1.3 配置服务自重启

查看 mysql 服务状态:

chkconfig --list mysqld

出现下列数据证明正常生效

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

若没有对应服务,添加 mysqld 服务

chkconfig --add mysqld  

至此,mysql 安装完成。

二、通过 tar.gz 压缩包的方式安装

2.1 下载 mysql 安装包

mysql5.5 安装包下载地址:http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.54-linux2.6-x86_64.tar.gz

并使用 filezilla 工具上传 mysql5.5 安装包到 linux 的/usr/mysql 目录下。

或使用命令:

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.54-linux2.6-x86_64.tar.gz

可直接从官网下载安装包到 linux 的当前目录。

2.2 解压 mysql 安装包

tar -zxvf mysql-5.5.54-linux2.6-x86_64.tar.gz

得到 mysql-5.5.54-linux2.6-x86_64 文件夹

将 mysql-5.5.54-linux2.6-x86_64 文件夹更名为 mysql5.5,命令如下:

mv mysql-5.5.54-linux2.6-x86_64 mysql5.5

2.3 添加用户组及用户

进入文件夹目录

cd /usr/mysql/mysql5.5

添加用户组 mysql

groupadd mysql      

在 mysql 用户组添加用户 mysql

useradd -g mysql mysql   

2.4 修改配置文件

复制 mysql 配置文件到系统环境配置目录下,如果显示已有/etc/my.cnf 文件,就替换该文件。

cp support-files/my-default.cnf /etc/my.cnf   

编辑 mysql 的配置文件,内容如下

vi /etc/my.cnf

[mysql]
default-character-set=utf8

[mysqld]
user = mysql                                #设置用户
basedir =/usr/local/mysql                   #数据库路径
datadir =/usr/local/mysql/data              #数据文件存放路径
port =3306                    #端口
lower_case_table_names=1            #不区分表名大小写
character-set-server=utf8           #设置编码
default-storage-engine = INNODB        #设置默认存储引擎
log-error = /usr/local/mysql/data/error.log  #设置错误日志路径
pid-file = /usr/local/mysql/data/mysql.pid   #设置pid路径

2.5 修改目录用户,生成 pid 文件,配置文件权限

进入 mysql 目录

cd /usr/mysql/mysql5.5

修改当前目录用户为 mysql

chown -R mysql:mysql ./         

安装一个需要的依赖库

yum -y install autoconf             

安装,不报错就安装成功

./scripts/mysql_install_db --user=mysql --basedir=/usr/mysql/mysql5.5 --datadir=/usr /mysql/mysql5.5/data/ --pid-file=/usr/mysql/mysql5.5/data/mysql.pid

修改 data 目录的拥有着为 mysql,是用户有这个文件的读写权利

chown -R mysql:mysql data            

赋予配置文件最大权限

chown -R 777 /etc/my.cnf     

2.6 添加 mysqld 服务

复制服务脚本,进系统环境

cp /support-files/mysql.server /etc/rc.d/init.d/mysqld                 

赋予服务控制执行脚本的权利

chmod +x /etc/rc.d/init.d/mysqld                 

添加服务进系统服务

chkconfig --add mysqld                      

查看服务是否生效

chkconfig --list mysqld

出现下列数据证明正常生效

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

开启服务

service mysqld start (service mysqld status查看服务状态)

若是 centos7 以上版本,运行

systemctl start mysqld (systemctl status mysqld查看服务状态)

打开环境变量配置文件

vi /etc/profile

在文件最后,添加以下内容,将/usr/local/mysql/bin 目录加入环境变量


export PATH=$PATH:/usr/local/mysql/bin

使环境变量配置生效

source /etc/profile

至此,数据库安装成功

2.7 设置数据库密码

第一次登陆不用密码,直接回车

mysql -u root -p 

设置 root 用户的密码为 admin,或设置为其他。。

>set password = password('admin');
>exit;

2.8 若需要远程登陆 mysql,进行以下设置:

  1. 设置远程主机登录,注意下面的 your username 和 your password 改成你需要设置的用户和密码

     GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
    

    如果你想允许用户 myuser 从 ip 为 192.168.1.6 的主机连接到 mysql 服务器,并使用 mypassword 作为密码,示例如下:

     GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'192.168.1.6′ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;
    

    允许所有,示例如下:

     GRANT ALL PRIVILEGES ON *.* TO 'root'@'%′ IDENTIFIED BY 'root' WITH GRANT OPTION;
    
  2. 设置防火墙配置

     vi /etc/sysconfig/iptables
    

    添加

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

    重启 iptables 服务

     service iptables restart
    

     systemctl restart iptables
    
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    943 引用 • 943 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    690 引用 • 535 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...