centos 7 mysql 编译安装_CentOS7 编译安装 MySQL5.7

添加 mysql 用户(若存在,则跳过此步骤)

/usr/sbin/useradd -s /sbin/nologin mysql

创建数据库目录:

mkdir -p /data/mysql/data

chown -R mysql:mysql /data/mysql

编译 mysql 所需的程序或文件:

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

下载 mysql 源码包

cd /usr/local

# wget http://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16.tar.gz

# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27.tar.gz

解压源码到当前目录

tar -zxvf mysql-5.7.27.tar.gz

设置安装参数

# 切换到 mysql 目录

cd mysql-5.7.27

# 设置参数

cmake -DMYSQL_USER=mysql -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.27 -DINSTALL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1

编译 mysql

make

make install

设置参数文件

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

cp /usr/local/mysql-5.7.27/support-files/my-default.cnf /etc/my.cnf

cp /usr/local/mysql-5.7.27/support-files/mysql.server /etc/init.d/mysqld

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

开机启动

chkconfig --level 345 mysqld on

设置环境变量

echo "export PATH=/usr/local/mysql-5.7.27/bin/:$PATH" >> /etc/profile

source /etc/profile

# 查看是否写进了 /etc/profile 文件

cat /etc/profile

设置软链接

/usr/local/mysql-5.7.27/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.27 --datadir=/data/mysql/data

# 错误提示1:-bash: /usr/local/mysql-5.7.27/scripts/mysql_install_db: Permission denied

# 解决,提供执行权限创建目录

chmod a+x /usr/local/mysql-5.7.27/scripts/mysql_install_db

# 错误提示2:FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql-8.0.16/scripts/mysql_install_db

# 解决,安装 autoconf 库

yum -y install autoconf

在 /etc/my.cnf 配置文件中写入参数

vim /etc/my.cnf

# 添加以下内容:

[mysqld]

basedir=/usr/local/mysql-5.7.27

datadir=/data/mysql/data

port=3306

重启 mysqld

service mysqld restart

查看数据库是否启动正常

ps aux | grep mysql

设置数据库管理员的登录密码

/usr/local/mysql-5.7.27/bin/mysqladmin -u root password '123456'

进入 mysql 数据库

mysql -uroot -p123456

# 使用 SQL 语句,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从 ”localhost” 改称 '%'

# 选择 mysql 库

use mysql;

# 查看mysql库中的 user 表的 host 值(即可进行连接访问的主机/IP名称)

select host from user where user='root';

# 修改 host 值(以通配符 "%" 的内容增加主机/IP地址)

update user set host = '%' where user ='root';

# 修改数据库的 root 用户密码

update user set password=password("123456") where user="root";

# 修改为支持本机登录

UPDATE `mysql`.`user` SET password=password("123456"), user='root' WHERE host='localhost';

# 刷新 MySQL 的系统权限相关表

flush privileges;

# 重新查看 user 表是否有修改

select host from user where user='root';

# 退出数据库

exit

# 重启数据库

service mysqld restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值