MySQL Centos 平台 Archives 安装(二)

222 阅读1分钟

Centos7 Archives 方式安装 MySQL 5.7.30

1. 下载压缩包

下载地址:downloads.mysql.com/archives/co…

2. 安装前

2.1 检查是否安装过 mariadbPercona 然后删除

# 检查是否有 mariadb 和 Percona
yum list installed mariadb\*
yum list installed Percona\*

# 如果检测到相关软件,删除(根据查询到的包做相应删除,不一定完全如下所示)
yum remove MariaDB-common MariaDB-compat MariaDB-server
yum remove Percona-Server-client-55 Percona-Server-server-55 \
  Percona-Server-shared-55.i686 percona-release

2.2 5.7.19 版本后需要安装 libnuma

# 查询libnuma 并安装对应的包
yum search libaio
yum install libaio

2.3 创建符号链接

# 32位系统
ln -s libncurse.so.5.6 /lib/libtinfo.so.5

# 64位系统
ln -s libncurses.so.5.6 /lib64/libtinfo.so.5

3. 创建配置文件

必须在指定目录:etc/my.cnf

[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

## mysql这个文件夹必须属于mysql用户组
log_error=/var/log/mysql/mysqld.log

## mysql这个文件夹必须属于mysql用户组
pid-file=/var/run/mysql/mysqld.pid

[mysqldump]
quick

3. 安装

3.1 解压 MySQL 到 usr/local/mysql

3.2 创建 mysql 用户组、初始化 mysql 数据库和超级用户

# 创建 mysql用户组和 mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 切换目录,解压 mysql 并重命名
cd /usr/local
tar -zxvf mysql-5.7.30-version.tar.gz
move mysql-5.7.30 mysql

# 创建mysql-files
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files

# 设置环境变量(临时的,永久的话去修改profile文件)
export PATH=$PATH:/usr/local/mysql/bin

# 初始化 mysql 数据和用户
bin/mysqld --initialize --user=mysql
bin/mysqld --initialize-insecure --user=mysql #这个初始化操作不会产生密码

# 设置ssl(可选)
bin/mysql_ssl_rsa_setup

4. 启动服务器

# 启动服务器
./mysqld_safe --user=mysql &

# 关闭服务器(如果有密码必须指定-p)
./mysqladmin -u root shutdown

5. 测试服务器

可以在没登录MySQL服务器的情况下,测试服务器信息

# 测试版本
./mysqladmin --version

# 测试数据库信息
./mysqlshow

6. 登录服务器,修改密码,开启对外访问

# 登录服务器
grep "temporary password" /var/log/mysql/mysqld.log
mysql -u root -p

# 修改密码
mysql> alter user 'root'@'localhost' identified by 'newPassword';

# 开启远程访问
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;

# 放开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload    # 配置重载生效

7. 配置 Service 命令开启 MySQL 和开机自启

# 拷贝脚本到init.d目录
cp support-files/mysql.server /etc/init.d/mysql.server

# 启动MySQL
service mysql.server start

# 关闭MySQL
service mysql.server stop

# 开机自启MySQL
chkconfig --add mysql.server

8. 配置 Systemctl 命令开启 MySQL 和开机自启(可选)

# 进入system目录
cd/usr/systemd/system

# 创建mysqld.service 内容如第二个块所示
touch mysqld.service

# 开机自启
systemctl enable mysqld.service

# 开启 MySQL
systemctl start mysqld

# 关闭MySQL
systemctl stop mysqld

# 强制关闭
systemctl kill mysqld

# 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

# Have mysqld write its state to the systemd notify socket
Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS 

# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false

9. 参考

dev.mysql.com/doc/refman/…