一、通过 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,进行以下设置:
-
设置远程主机登录,注意下面的 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;
-
设置防火墙配置
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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于