00-ContOS 7.5编译安装MySQL-5.7.30

1. 卸载自带MySQL

[root@db01 tools]#  for i in $(rpm -qa |grep -E "^mysql-");do rpm -e $i --nodeps;done
[root@db01 tools]#  for i in $(rpm -qa |grep -E "^mariadb");do rpm -e $i --nodeps;done

2. 安装依赖包

[root@db01 tools]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel openssl-devel  libaio-devel

3. 编译安装mysql-5.7.30

# 创建mysql虚拟用户
[root@db01 tools]# useradd  mysql -M -s /sbin/nologin

# 创建数据目录
mkdir /data/mysql/data -p
mkdir /data/mysql/logs -p

#安装包存放目录
mkdir /data/tools

# 创建安装目录
mkdir /applications/mysql
mkdir /applications/mysql/var
mkdir /applications/mysql/conf

# 下载mysql,解压
[root@db01 tools]# cd /data/tools
[root@db01 tools]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.30.tar.gz
[root@db01 tools]# tar -zxvf mysql-5.7/mysql-boost-5.7.30.tar.gz
[root@db01 tools]# cd mysql-5.7.30

# 编译安装
[root@db01 mysql-5.7.30]# /usr/bin/cmake -DCMAKE_INSTALL_PREFIX=/applications/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/applications/conf  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/applications/mysql/var/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 -DWITH_BOOST=/data/tools/mysql-5.7.30/boost
root@db01 mysql-5.7.30]#  make && make install

# 赋予安装目录和数据目录权限
[root@db01 mysql-5.7.30]# chown -R mysql.mysql /data/mysql
[root@db01 mysql-5.7.30]# chown -R mysql.mysql /applications/mysql

# 初始化数据库
[root@db01 mysql-5.7.30]# /applications/mysql/bin/mysqld    --initialize-insecure  --basedir=/applications/mysql --datadir=/data/mysql/data --user=mysql

# 配置my.cnf
root@db01 mysql-5.7.30]# cat /applications/mysql/conf/my.cnf
[client]
port = 3306
socket = /applications/mysql/var/mysql.sock

[mysqld]
port = 3306
socket = /applications/mysql/var/mysql.sock
log_error=/data/mysql/logs/mysql-error.log
basedir = /applications/mysql/
datadir = /data/mysql/data
pid-file = /applications/mysql/var/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
log_bin = mysql-bin

# 启动mysql服务
root@db01 mysql-5.7.30]# cd /applications/mysql
[root@db01 mysql]# cp -rp support-files/mysql.server /etc/init.d/mysqld
[root@db01 mysql]# cd /etc/init.d
[root@db01 init.d]# chkconfig mysqld on
[root@db01 init.d]# service mysqld start

# 设置环境变量
[root@db01 mysql]# echo "export PATH=$PATH:/applications/mysql/bin" >> /etc/profile
[root@db01 mysql]# source /etc/profile

# 设置mysql密码和远程登录
mysql> grant all privileges on *.* to root@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> grant all privileges on *.* to root@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 


# 到此,使用mysql -uroot -p123456登录mysql

4. 配置systemd管理mysql

  • 先停止数据库service mysql.service stop
[root@lb01 system]# cat /etc/systemd/system/mysqld.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/applications/mysql/bin/mysqld --defaults-file=/applications/mysql/conf/my.cnf
LimitNOFILE = 5000

5. 检查测试

[root@lb01 system]# systemctl start mysqld.service 
[root@lb01 system]# systemctl status mysqld.service 
● mysqld.service - MySQL Server
   Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2020-07-19 15:36:00 CST; 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 31801 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─31801 /data/mysql/bin/mysqld --defaults-file=/etc/my.cnf

7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.162630Z 0 [Note] Foun...m.
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.162667Z 0 [Note] Skip...y.
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.163506Z 0 [Warning] C...d.
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.163594Z 0 [Note] Skip...y.
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.163714Z 0 [Note] Serv...06
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.163744Z 0 [Note]   - ...';
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.163769Z 0 [Note] Serv...'.
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.168871Z 0 [Note] Fail...''
7月 19 15:36:01 lb01 mysqld[31801]: 2020-07-19T07:36:01.174950Z 0 [Note] /dat...s.
Hint: Some lines were ellipsized, use -l to show in full.

#查看mysql端口有没有启动
[root@ysx bin]# netstat -tulnp |grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      19673/mysqld 

原文链接: https://www.cnblogs.com/sxiaomaolv/p/13339830.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    00-ContOS 7.5编译安装MySQL-5.7.30

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/368531

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午6:28
下一篇 2023年3月2日 下午6:28

相关推荐