通过源码安装 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