Linux服务器搭建系列—源码安装mysql5.7

1.卸载旧版本的mysql

1.1使用命令查询旧版本

 rpm -qa | grep mysql

1.2卸载

rpm -e <安装包名称>   #普通删除
rpm -e --nodeps <安装包名称>   #强力删除模式(包含依赖)

2.下载源码及准备工作

2.1安装编译源码需要的依赖包 

yum -y install gcc gcc-c++ ncurses-devel openssl* make cmake perl autoconf automake zlib libxml libtool libgcrypt bison bison-devel

2.2下载源码

下载源码到/usr/local/src:

cd /usr/local/src
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.28.tar.gz

解压到/usr/local

tar -zxvf /usr/local/src/mysql-boost-5.7.28.tar.gz -C /usr/local/src

3.编译源码

进入源码目录/usr/local/src/mysql-5.7.28,执行cmake编译命令

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_READLINE=1 \
-DWITH_BOOST=/opt/mysql-5.7.23/boost

编译并安装,此时会安装到/usr/local/mysql

make && make install

添加用户组

groupadd mysql

添加用户, -r代表此用户是系统用户不可用来登录系统,-g mysql指定用户所属用户组为mysql用户组,最后的mysql为用户名

useradd -r -g mysql mysql

授权/ussr/locacla/mysql所属的用户和用户组

chown -r mysql:mysql /usr/local/mysql

4.初始化及配置

4.1初始化

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化时,会生成root用户的默认密码如:...root@localhost: 2wp?fPp33/Hw,其中冒号后面就是密码

4.2配置环境变量

vim /etc/profile

#在/etc/profile文件末尾添加
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile  #重新加载/etc/profile配置文件

4.3将启动脚本做成服务

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

chkconfig mysql on    #设置开机启动

4.4开放端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanent  #开放3306端口号

firewall-cmd --reload  #重新加载防火墙

firewall-cmd --list-all #查看防火墙端口号开放状态

4.5修改配置文件

vim /etc/my.cnf

在文件中添加如下内容 

[client]
port=3306
socket=/data/mysql/tmp/mysql.sock
default-character-set=utf8mb4

[mysqld]
# basic settings #
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data
tmpdir=/data/mysql/tmp
socket=/data/mysql/tmp/mysql.sock
pid-file=/data/mysql/tmp/mysql.pid
plugin_dir=/usr/local/mysql/lib/plugin
character-set-server=utf8mb4
lower_case_table_names=1
transaction_isolation=READ-COMMITTED
default-storage-engine=InnoDB
autocommit=1
event_scheduler=1
skip-external-locking
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER


# connection settings #
interactive_timeout=1800
wait_timeout=1800
lock_wait_timeout=1800
skip_name_resolve=1
max_connections=512
max_user_connections=256
max_connect_errors=10000

# log file #
server-id=101
log-error=error.log
slow_query_log=1
slow_query_log_file=slow.log
long_query_time=2
log_queries_not_using_indexes=1
log_slow_admin_statements=1
log_slow_slave_statements=1
log_throttle_queries_not_using_indexes=10
expire_logs_days=90
min_examined_row_limit=100
log-bin-trust-function-creators=1
log-slave-updates=1

# bin log #
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog_format=row
sync_binlog=1
binlog_cache_size=8M
max_binlog_cache_size=2048M
max_binlog_size=1024M
binlog-rows-query-log-events=1

# plugin settings #
plugin_load=validate_password.so

# password plugin settings #
#validate_password_policy=STRONG
#validate-password=FORCE_PLUS_PERMANENT
validate-password=OFF

[mysql-5.7]
# other settings #
binlog_gtid_simple_recovery=1
log_timestamps=system
show_compatibility_56=on

[mysqldump]
quick

[mysql]
default-character-set=utf8mb4

4.6启动/关闭/重启相关命令

systemctl status mysql #查看mysql服务状态
systemctl start mysql #开启mysql服务
systemctl stop mysql #关闭mysql服务
systemctl restart mysql #重启mysql服务

4.7修改默认密码

第一种,确认mysql服务启动后,使用mysql客户端并用root用户登录进去之后再修改;

mysql -u root -p
mysql> set password = password('你想要的密码');
Query OK, 0 rows affected (0.01 sec)

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

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

第二种,使用mysqladmin进行修改

mysqladmin -u root -p password 你的密码

第三种,使用安全化设置(mysql_secure_installation)进行修改(生产环境推荐使用,可以禁用空密码、密码复杂度级别设定、删除空用户名、删除root的远程登录)

mysql_secure_installation

根据系统提示,一步步输入yes,操作完成后,请务必记住自己配置的密码,如下图:

è¿éåå¾çæè¿°

阿里云服务器优惠连接,助你早日成就架构师之梦

https://www.aliyun.com/minisite/goods?userCode=0xl4npky

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值