通过源码安装 MySQL Server 安装步骤如下:

1、卸载旧版本 MySQL

查看是否有旧版本 MySQL:

rpm -qa | grep mysql

如果有的话,通过下面命令来卸载旧版本:

rpm -e mysql   //普通删除模式
rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

2、安装 MySQL

通过 yum 安装编译需要的包

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

将新版本的 MySQL 包通过 tar 命令解压缩后:

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

安装过程全程大概需要30分钟时间,漫长的等待 … …

3、配置 MySQL

查看是否有 mysql 用户及用户组

cat /etc/passwd 查看用户列表
cat /etc/group  查看用户组列表

如果没有,则创建 mysql 用户及用户组

groupadd mysql
useradd -g mysql mysql

修改 mysql 安装目录 /usr/local/mysql 权限

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

初始化配置

进入安装路径

cd /usr/local/mysql

执行初始化脚本,创建系统库及系统表

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

系统会自动为 MySQL 生成默认的配置文件,文件位置为 /etc/my.cnf

配置启动脚本

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

配置自动启动

chkconfig mysql on

启动及关闭服务

service mysql start
service mysql restart
service mysql stop

设置环境变量 PATH

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

保存并关闭文件后,执行命令,让配置立即生效

source /etc/profile

配置 root 用户的默认密码

mysql -uroot  
mysql> SET PASSWORD = PASSWORD('123456');

配置 root 用户可以远程访问数据库

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

配置防火墙,打开默认的3306端口

vim /etc/sysconfig/iptables

在“-A INPUT –m state –state NEW –m tcp –p –dport 22 –j ACCEPT”下面加一行

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

保存,并重启防火墙服务

service iptables restart

在 CentOS 7 中,默认使用 firewalld 作为防火墙,所以修改 iptables 已经不生效了。

CentOS 7 中,修改防火墙命令如下

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

 

OK,一切配置完毕,你可以访问你的MySQL了~

标签: