CentOS7下安装Mysql

来源:互联网 发布:中山大学就业 知乎 编辑:程序博客网 时间:2024/06/07 18:18

最近闲来无事,就在腾讯云申请了个人服务器试用7天,把自己写的前后端放进去测试

首先遇到的是数据库的安装问题,现在来说一下Mysql在CentOS7下的安装步骤

1.下载Mysql源码 -----  以5.6为例

https://dev.mysql.com/downloads/mysql/


本人是通过windows下载后上传到服务器中,也可以在服务器中直接通过命令行下载

wget http://downloads.mysql.com/archives/get/file/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

对比一下MD5,以防别人篡改

md5sum mysql-5.6.37.tar.gz


可以看到与官网的一致


准备安装环境

先检查是否安装过Mysql

rpm -qa | grep mysql

如果有的话就卸载

rpm -e --nodeps xxx(xxx 对应的是搜索结果)

并且删除mysql的相关文件   /etc/my.cnf

安装编译代码所需要的包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio

 yum install libaio libaio-devel -y

yum install perl-Data-Dumper -y

 yum install net-tools -y

安装完后解压mysql文件

tar zxvf mysql-5.6.37.tar.gz(对应自己的文件)

cd mysql-5.6.37


编译源码

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DINSTALL_DATADIR=/usr/local/mysql/data/master -DSYSCONFDIR=/usr/local/mysql/etc  \

-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1  \

-DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DMYSQL_USER=mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock

成功提示:


安装

make && make install

经过漫长的等待终于安装完毕



检查系统是否已经有mysql用户,如果没有则创建

cat /etc/passwd | grep mysql

cat /etc/group | grep mysql

创建mysql用户

groupadd mysql

 useradd -g mysql mysql

修改权限

chown -R mysql:mysql /usr/local/mysql

至此,mysql安装完毕

下面有两种配置方式,推荐按照多实例配置的方式

单实例配置

单实例配置方法

进入安装路径

cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

注意:在CentOS 7版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

添加防火墙

 firewall-cmd --zone=public --add-port=3306/tcp --permanent

如果防火墙未启动,则启动防火墙

systemctl startfirewalld.service

重启才有效

 firewall-cmd --reload

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

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

 chkconfig mysql on

启动mysql

 service mysql start 

查看mysql是否启动成功

netstat -lntp | grep 3306

重启mysql

 pkill mysqld

service mysql start

至此MYsql已经安装完成

cd /usr/local/mysql/bin 

mysql -u root -p

默认密码为空

如果遇到-bash:mysql:command not found

因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,
系统在/usr/bin下面查此命令,所以找不到了 

解决办法是:做个软连接即可

ln -s /usr/local/mysql/bin/mysql /usr/bin


本文参考:http://www.linuxidc.com/Linux/2015-06/119354.htm

原创粉丝点击