一、创建用户及用户组
groupadd mysql
useradd -r -g mysql mysql
# -r参数表示mysql用户是系统用户,不可用于系统登录。
二、解压mysql的 .gz文件
tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
安装到/usr/local目录下
mv mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/
ln -s mysql-5.7.32-linux-glibc2.12-x86_64 mysql
chown mysql:mysql -R /usr/local/mysql/
三、修改/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/app/mysql
socket=/var/lib/mysql/mysql.sock
port=3306
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/run/mysql/mysql.pid
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’
[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
port = 3306
[mysql]
default-character-set=utf8
[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000
character-set-server=utf8
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
四、创建运行时的一些目录及文件
mkdir /var/lib/mysql
touch /var/lib/mysql/mysql.sock
chown mysql:mysql /var/lib/mysql -R
mkdir /var/log/mysql
touch /var/log/mysql/mysql.log
chown mysql:mysql /var/log/mysql -R
mkdir /var/run/mysql
touch /var/run/mysql/mysql.pid
chown mysql:mysql -R /var/run/mysql
五、安装及开启服务
安装mysql:
cd /usr/local/mysql/bin #进入安装目录
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/app/mysql #安装
#我的安装目录为 /usr/local/mysql 数据目录为: /app/mysql 并注意安装好后的进示信息:root的默认密码,如这个提示的:
安装服务:
cd /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #将服务文件复制到系统对应的目录下
chkconfig --add mysqld #添加为服务
service mysqld start #启动服务
netstat -anput | grep 3306 #验证服务是否启动,端口是否已经开始监听。
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql #创建软件连接,方便启动
修改root密码
mysql -u root -p #输入安装时出现的密码
ALTER USER USER() IDENTIFIED BY 'Dong3344'; #进入数据后,修改密码。
SET PASSWORD = PASSWORD('Dong3344'); #老版本的mysql,可能会要这样修改。
flush privileges;